写给大忙人看的java核心技术第一章笔记


基本类型
  • 4种整型: int(4字节) long(8字节,后缀L) short(2字 节) byte(1字节)
  • 2种浮点型:float(4字节,后缀F) double(8字节,默认使用)
  • 1种字符类型:char(1字节)
  • 1种布尔类型:boolean

16进制使用0x前缀,2进制使用0b前缀。八进制使用0前缀。

常量
常量名使用全大写字母
final 一旦赋值就不能改变。可以先定义后赋值。

static 关键字
  1. 用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享;
  2. 用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于工具类;
  3. 静态块用法,将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键;
static { book2 = new Book("static成员book2成员变量初始化"); book4 = new Book("static成员book4成员变量初始化"); }
  1. 静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”即可调用类方法,更加方便。
/* PrintHelper.java文件 */
package com.dotgua.study;

public class PrintHelper {

public static void print(Object o){
System.out.println(o);
}
}

/* App.java文件 */

import static com.dotgua.study.PrintHelper.*;

public class App
{
public static void main( String[] args )
{
print("Hello World!");
}
/**Output
* Hello World!
*///~
}


数字类型转换
转换顺序如下:
1.如果任意一个操作数为double类型,则将另一个转换为double类型。
2.如果任意一个操作数为float类型,则将另一个转换为float类型。
1.如果任意一个操作数为long类型,则将另一个转换为long类型。
1.如果任意一个操作数为int类型,则将另一个转换为int类型。


大数
BigInteger

BigDecimal

字符串
字符串连接:
1.以“+”连接;
2.String.join(",","str1","str2","str3");

子字符串:
str1.substring(7,12);
str1.split(",");

字符串比较:
str1.equals(str2);
不要使用==操作符比较字符串 ==是比较两个字符串的引用地址
str.equasIgnoreCase(str2); 比较时忽略大小写。

数字与字符串的转换
整数转字符串:Integer.toString();
字符串转整数:Integer.parseInt(str1);
double->string:Double.toString();
string->double: Double.parseDouble("3.14");

基本类型的包装类
Integer,Byte,Short,Long,Character,Float,Double,Boolean

泛型类不能使用基本类型作为类型参数,例如 ArrayList<int>是非法的,得使用包装类,ArrayList<Integer>

数组与数组列表的复制
int[] numbers =primes; 这样的话两个变量引用的是同一个数组, numbers[5]=42 ,primes[5]的值也是42.
int[] numbers=Array.copyOf(primes,primes.length)是复制数组,两个数组引用的数组不相同。
ArrayList<String> copiedfriends=new ArrayList<>(friends); 复制数组列表

常用数组算法
Arrays.fill(numbers,0);
Collections.fill(friends,"");

Arrays.sort(names);
Collections.sort(friends);

Array.toString(primes); 产生一个数组的字符串表示。

多维数组
java没有真实的多维数组,多维数组是通过数组的数组实现的。
多维数组并不要求每一行长度相同。

数组参数与返回值
1、将数组传递给方法,方法只是收到数组的引用,通过引用可以修改数组。
2、方法可以返回数组。

可变参数
public static double max(double first,double... rest){}
可变参数必须是方法的最后一个参数。

猜你喜欢

转载自blog.csdn.net/fall_hat/article/details/79793246