- + 号
- 浮点型
- 布尔类型
- 类型的自动转换
- 基本数据类型和字符串之间的转换
- 逻辑运算
- 输入
- 位运算
- 数组
当左右两边有一方为字符串时,做的是拼接运算。
System.out.println("100"+98); //10098
浮点型
// 浮点型常量默认为 double 型 , 所以声明 float 型 常量时,后面需加 F
float a=1.1; //编译会报错
float a=1.1F; // 这样是对的
// 当 a%b, a是小数时,等价于 a-(int)a/b*b ;
布尔类型
boolean
只能是false或者true不能用非0或0来替代。
short + byte + int 三者进行运算时,会自动转换成int。
short s =12; s=s-9; // 错误,s-9的结果是int,int不能转short,除非强制类型转换 s=(short)(s-9); // 这样是可以的 byte b=16; short s=14; short t=s+b; // 错误,s+b的结果是 int
// 复合赋值运算符会进行类型转换 byte b=3; b+=2; // 等价于 b=(byte)(b+2),所以不会报错 b++; // 也是可以的基本数据类型和字符串之间的转换
基本数据类型转字符串 int n1=100; String s1=n1+""; // 通过 +"" 就可以了 字符串转基本数据类型 String s="682"; // 通过对应类的对应方法 int num1 = Integer.parseInt(s); double num2 =Double.parseDouble(s); String s="kkddj"; // 字符串转字符char // charAt(0)得到s的第一个字符'k' System.out.println(s.charAt(0));逻辑运算
短路与&& 逻辑与& 效果一样, && 效率更高 对于&&,如果第一个条件为false,第二个不会判断 对于&, 第二个都会进行判断。 短路或 || 第一个条件为真,第二个条件不会判断 逻辑或 | 都会判断 异或运算 ^输入
import java.util.Scanner; // 导入
public static void main(String args[]){
// scanner 是一个类,通过它创建一个对象,再调用功能
Scanner absor=new Scanner(System.in);
System.out.println("请输入名字:");
String name=absor.next(); // 接收字符串
System.out.println(name);
int age=absor.nextInt(); // 接收整数
}
位运算
Java没有无符号数
算术右移 >> 相当于除2 算术左移 << 乘2 逻辑右移 >>> 4<<3 // 4*2*2*2 = 32 15>>2 // 15/2/2 = 3数组
int a[]={1,2,3,3,4,5,6,9};
int a[]=new int [9];
int arr1[]={1,2,3};
int arr2[]=arr1;
此时改变 arr2,则 arr1也会随之改变。
这时不会有影响,仅内容复制
int arr2[]=new int [arr1.length];
for(int i=0;i
// 数组扩容
int arr[]={1,2,3};
int arr_new[]=new int [arr.length+1]; // 开辟一块新空间,比arr多1个位置
for(int i=0;i 


