一、转义字符与文档注释
1、1转义字符
public class ChangeChar {
/*
\t 制表符
\n 换行
\r 一个回车
\\ 一个\
\' 一个'
\" 一个“
转义字符
*/
public static void main(String[] args) {
// 制表符
System.out.println("昆明海口北京");
System.out.println("制表拉");
System.out.println("昆明\t海口\t北京");
System.out.println("昆明\n海口\n北京");
//换行
System.out.println("dddddd" );
System.out.println("昆明海口北京");
System.out.println("昆明海口北京");
System.out.println("昆明\\海口\\北京");
System.out.println("我说: \"昆明海口北京");
System.out.println("我说: \"昆明海口北京\"");
}
}
1.2结果
2、文档注释
注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页形式体现的该程序的说明文档,一般写在类
二、数据类型
1、JAVA数据类型
2、注意细节
- 字符类型只能用单引号,双引号是字符串类型
- JAVA char的本质是一个整数,输出时是Unicode的对应编码
3、数据类型的转换
3.1自动转换
精度小的数据类型自动转换为精度打的数据类型。
char<int<long<float<double
byte<short<int<long<float<double
char 不能自动转化为byte、short
- char 不能自动转化为byte、short
- byte、short、char 可以参与运算,自动转化为int后运算
- boolean 不参与类型自动转换
- 表达式结果自动提升为操作数中最大的类型
3.2 强制类型转换
// 转化有精度损失、数据溢出
int n1 = (int) 5.6;
细节理解
// 转化有精度损失、数据溢出
int n1 = (int) 5.6;
char s1= 100;//ok
int num10= 100;//ok
//错误
// char s2 = s1
//单独数字默认为int
// 错误
//s2 = s1-14;
char s3 = (char) num10;// ok
3.3、基本数据类型和String之间的转换
// 自动转换成String类型
String s4 = n1+"";
String s5 ="123";
// String类型转化
// 转化int等(涉及包装类),
// 使用基本数据类型对应包装类的相应方法得到基本数据类型
int num11 = Integer.parseInt(s5);
//转化为double
double num12 = Double.parseDouble(s5);
注意细节
- 转化需要格式正确,否则会有对应异常(运行)
四、运算符
1、算术运算符
运算符 | 运算 |
---|---|
% | 取模(取余) |
++ | 自增 |
% | 取模 |
一些运算的举例
// 结果为2
System.out.println(10/4);
// 结果为2.5
System.out.println(10.0/4);
// 结果为2
double num1 = 10/4;
System.out.println(num1);
i++ 与++i的区别
int i = 10;
i++;//自增=i+1;=> i = 11
++i;//自增=i+1;=> i = 10
int j = 10;
int k = ++j;//=> j=j+1;k=j;
int m = j++;//=> m=j;j=j+1;
2、逻辑运算符
&& 短路 与(短路或||),如果第一个条件为false,后面条件不再判断
& 逻辑与(逻辑或),如果第一个条件为false,后面条件任然判断效率低
package linkedlist;
public class Logical {
public static void main(String[] args) {
/**
* && 短路 与,如果第一个条件为false,后面条件不再判断
* & 逻辑与,如果第一个条件为false,后面条件任然判断(**效率低**)
*/
int num1=4;
int num2=5;
if (num1 <1 & ++num2<10) {
System.out.println("ok");
}
System.out.println("num1"+num1+" "+"num2"+num2);
// int num1=4;
// int num2=5;
// if (num1 <1 & ++num2<10) {
// System.out.println("ok");
// }
// System.out.println("num1"+num1+" "+"num2"+num2);
}
}
```bash
在这里插入代码片
取反
//!取反
逻辑异或
package linkedlist;
public class Logical {
public static void main(String[] args) {
/** 异或 不同为真
* 相同为真
*
*/
int num1=4;
int num2=5;
//都为真,a输出为false
boolean a = (10>1)^(3<5);
System.out.println(a);
//System.out.println("num1"+num1+" "+"num2"+num2);
}
}
3、赋值运算符
a+=b;//等价a = a + b
4、三元运算符
package linkedlist;
public class Logical {
public static void main(String[] args) {
/**
* 一真大师
*/
int num1=4;
int num2=5;
int resurt = num1>num2?num1++:num2--;
}
}
表达式1 和表达式 2 要为可以接收变量的类型(可以是自动转换/强制转换)
5、运算符优先级
不用记。