回顾:
1、
INT 1a a-1
a_1 a1
2、数据类型
值类型:实际的值
引用类型:地址
3、类型转换
int a = 23;
double b = a; //自动转换
a = (int)b; //强制转换
4、计算过程中,永远两两计算
计算时,两个数类型比较,先把小类型转成大类型才计算。
-----------------------------
运算符:
一、算术运算符
----二元运算(两个数参与)------
1、+ - *(乘)
2、/(除)
1)整数之间,表示整除(只保留商的整数部分,除数不能为0)
如:25/2 = 12
2)浮点数,正常计算
double a = 25;
System.out.println(a/2);
特殊情况:
System.out.println(a/0);//不会出错,无穷大
3、%(取余数)
double a = 25;
System.out.println(a%2);
//商12余数1,结果是1.0
int a = 25;
System.out.println(a%2);
//商12余数1,结果是1
经常用于判断一个数是不是偶数或奇数。
a%2结果是0证明是偶数。
-------- 一元运算符----------
++ 自增
1、放在变量后面,先运算,后自增
int x = 10;
int y = x++; //相当于y=x;x=x+1;
System.out.print("x="+x);
System.out.print("y="+y);
2、放在变量前面,先运算,后自增
int x = 10;
int y = ++x; //相当于x=x+1;y=x;
System.out.print("x="+x);
System.out.print("y="+y);
-- 自减 方法类似
int x = 10;
int y = 10;
System.out.println(x--); //10 x=9
System.out.println(x++); //9 x=10
System.out.println(--y); //9 y=9
System.out.println(y--); //9 y=8
System.out.println(x+y++); //18 y=9
System.out.println(x); //10
System.out.println(y); //9
public class Test {
public static void main(String[] args) {
int x = 10;
int y = 10;
System.out.println(x+++y);
//根据自左向右的原则
//相当于(x++)+y 打印20 x=x+1-->11
System.out.println(x); // 11
System.out.println(y); // 10
}
}
public class Test {
public static void main(String[] args) {
int x = 10;
int y = 10;
System.out.println(x+(++y));
//根据先算括号的原则
// y=y+1 打印21
System.out.println(x); //10
System.out.println(y); //11
}
}
-------三元运算符-------------
结果 = 条件?数1:数2;
当条件成立的时候,把数1赋值给左边,否则把数2赋值给左边。
int x = 10;
int y = x>10?1:2; //y=2
求两个数的最大值:
int x = 10;
int y = 11;
int max = x>y?x:y;
System.out.println("最大值:"+max);
练习:用Scanner输入两个整数,求两个数的最小值。
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入第一个:");
int x = sc.nextInt();
System.out.println("输入第二个:");
int y = sc.nextInt();
int min = x<y?x:y;
System.out.println("最小值:"+min);
}
}
练习:输入一个三位的整数,把这个数的
百、十、个位上的数分别打印出来。
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数:");
int a = sc.nextInt();
System.out.println("个位:"+a%10);
System.out.println("百位:"+a/100);
System.out.println("十位:"+a/10%10);
}
}
变态例子:
int x = 20;
int y = 20;
System.out.println(x++);//20 x=21
System.out.println(--x);//20 x=20
System.out.println(++y);//21 y=21
System.out.println(y++);//21 y=22
System.out.println(x+++y);//42 x=21
//左优先(x++)+y
System.out.println(x+(++y));//44 y=23
System.out.println(x+y++);//44 y=24
System.out.println(x);//21
System.out.println(y);//24
1、
INT 1a a-1
a_1 a1
2、数据类型
值类型:实际的值
引用类型:地址
3、类型转换
int a = 23;
double b = a; //自动转换
a = (int)b; //强制转换
4、计算过程中,永远两两计算
计算时,两个数类型比较,先把小类型转成大类型才计算。
-----------------------------
运算符:
一、算术运算符
----二元运算(两个数参与)------
1、+ - *(乘)
2、/(除)
1)整数之间,表示整除(只保留商的整数部分,除数不能为0)
如:25/2 = 12
2)浮点数,正常计算
double a = 25;
System.out.println(a/2);
特殊情况:
System.out.println(a/0);//不会出错,无穷大
3、%(取余数)
double a = 25;
System.out.println(a%2);
//商12余数1,结果是1.0
int a = 25;
System.out.println(a%2);
//商12余数1,结果是1
经常用于判断一个数是不是偶数或奇数。
a%2结果是0证明是偶数。
-------- 一元运算符----------
++ 自增
1、放在变量后面,先运算,后自增
int x = 10;
int y = x++; //相当于y=x;x=x+1;
System.out.print("x="+x);
System.out.print("y="+y);
2、放在变量前面,先运算,后自增
int x = 10;
int y = ++x; //相当于x=x+1;y=x;
System.out.print("x="+x);
System.out.print("y="+y);
-- 自减 方法类似
int x = 10;
int y = 10;
System.out.println(x--); //10 x=9
System.out.println(x++); //9 x=10
System.out.println(--y); //9 y=9
System.out.println(y--); //9 y=8
System.out.println(x+y++); //18 y=9
System.out.println(x); //10
System.out.println(y); //9
public class Test {
public static void main(String[] args) {
int x = 10;
int y = 10;
System.out.println(x+++y);
//根据自左向右的原则
//相当于(x++)+y 打印20 x=x+1-->11
System.out.println(x); // 11
System.out.println(y); // 10
}
}
public class Test {
public static void main(String[] args) {
int x = 10;
int y = 10;
System.out.println(x+(++y));
//根据先算括号的原则
// y=y+1 打印21
System.out.println(x); //10
System.out.println(y); //11
}
}
-------三元运算符-------------
结果 = 条件?数1:数2;
当条件成立的时候,把数1赋值给左边,否则把数2赋值给左边。
int x = 10;
int y = x>10?1:2; //y=2
求两个数的最大值:
int x = 10;
int y = 11;
int max = x>y?x:y;
System.out.println("最大值:"+max);
练习:用Scanner输入两个整数,求两个数的最小值。
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入第一个:");
int x = sc.nextInt();
System.out.println("输入第二个:");
int y = sc.nextInt();
int min = x<y?x:y;
System.out.println("最小值:"+min);
}
}
练习:输入一个三位的整数,把这个数的
百、十、个位上的数分别打印出来。
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数:");
int a = sc.nextInt();
System.out.println("个位:"+a%10);
System.out.println("百位:"+a/100);
System.out.println("十位:"+a/10%10);
}
}
变态例子:
int x = 20;
int y = 20;
System.out.println(x++);//20 x=21
System.out.println(--x);//20 x=20
System.out.println(++y);//21 y=21
System.out.println(y++);//21 y=22
System.out.println(x+++y);//42 x=21
//左优先(x++)+y
System.out.println(x+(++y));//44 y=23
System.out.println(x+y++);//44 y=24
System.out.println(x);//21
System.out.println(y);//24