




















通过命令行操作java程序:
javac test.java
java test
使用通配符编译:
javac test*.java
带有test前缀的源文件都会被编译
整型
| 类型 | 存储 |
|---|---|
| int | 4字节 |
| short | 2字节 |
| long | 8字节 |
| byte | 1字节 |
长整型会有l或L为后缀,如5000000L
十六进制前缀0x或0X
二进制前缀0b或0B
浮点类型
| 类型 | 存储 |
|---|---|
| float | 4字节 |
| double | 8字节 |
float后缀f或F,没有后缀默认为double
三个特殊浮点数
Double.POSITIVE_INFINITY:正无穷
Double.NEGATIVE_INFINITY:负无穷
Double.NaN:非数值
不能通过==判等,只能通过静态方法Double.isNaN()
char类型
表示单个字符,可表示为十六进制值
boolean类型
只有两个值:true,false
不能与整型相互转换
小类型转换为大类型,整型转浮点
例如二元运算时,有double类型优先转换double,否则转换float,再否则...
从java 10开始,出现了var关键字,可通过变量值自动识别变量类型
注意:只能是方法中的局部变量
var a=12; //a is an int
var str="hhhh"; //str is a String
使用final关键字
final:不允许赋值之后再修改
static final:可以在多个地方直接引用
定义一个集合
enum Size{big,small}; //定义枚举类型Size
Size s=Size.big; //为枚举变量赋值
枚举类型只能赋集合中的值或者null
三元运算符
x<y?x:y
//若x<y,取x,否则取y
位运算
与:&
或:|
非:~
异或:^
左移:<<
右移,高位补符号位:>>
高位补0右移:>>>
位运算,顾名思义就是把数值转换为二进制按位进行操作
String str0="Hello";
String str1=str0.substring(0,3);//str1="Hel"
通过+进行拼接字符串
String对象是不可变的
所谓的修改String对象实际上是new了一个新的String对象并指向他
使用.euqals()判等
"Hello".equals(str)
空串是长度为0的串,“”
空串并非null,null是未被初始化的串
Java字符串由char序列组成
char是一个UTF-16的代码单元,表示Unicode码点
问题:有的Unicode字符需要不止一个代码单元表示
相关方法:CodePoint
StringBuilder类
为何高效:避免了每次修改都new一个新的String对象,修改都是再容器里进行,只有最后生成时才new一个字符串
常用方法:
builder.append();//追加字符串
String str = builder.toString();//生成字符串
标准输入流:System.in
首先需要一个Scanner
Scanner in = new Scanner(System.in);
String name = in.nextLine(); //读取一行
几种常用方法区别:
nextLine(); //遇到回车结束
next(); //遇到空格结束
nextInt(); //读取整数
hasNext(); //检测是否还有输入
格式化输出,可以用占位符替换输出
相应的占位符要用时查表
用Scanner读取文件
Scanner in = new Scanner(Path.of("123.txt"),StandardCharsets.UTF_8); //指定路径和字符集
写入文件
需要PrintWriter对象
PrintWriter out = new PrintWriter("123.txt",StandardCharsets.UTF_8);
//以下几种创建都是可以的
int[] a = new int[100];
int a = {1,2,3};
int a = {1,2,3,};
可以用以下方法拷贝
int a = Arrays.copyOf(b,b.length);
可以通过foreach语法遍历
for(int b : a){
...
}//b会遍历a
Java没有真正意义上的多维数组,实际上只有数组的数组
所有数组可以是不规则的
//创建方式
int[][] two = new int[100][50];
int[][] two = {
{1,2,3},
{4,5,6,7}
};
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。