package com.csy;
public class variableTest5 {
public static void main(String[] args) {
int a = 12 ;
int b = 5;
System.out.println( a/b); //这个的结果为2 应为int的截取?暂时这么理解
System.out.println(a/((double)b));// 这个的结果为2.4
}
}
package com.csy;
public class variableTest6 {
public static void main(String[] args) {
//让s1加一等于11
short s1 = 10 ;
//这两种方式等效
// s1 = (short) (s1 + 1);
s1++;
System.out.println(s1);
}
}
比较重要的一点 自增自减的数据类型不会改变
package com.csy;
public class variableTest6 {
public static void main(String[] args) {
byte b1 = 11 ;
byte b2 = 0;
b2 = ++b1;
System.out.println(b2);
}
}
**自增自减要注意数的变化
package com.csy;
public class variableTest6 {
public static void main(String[] args) {
int i1 = 10 ;
int i2 = i1++;
System.out.println(i1);//这里结果是11
int i3 = 10;
int i4 = i3+1;
System.out.println(i3);//这里结果是10
//前++要注意是先自增后再运算 这里是先自增在赋值运算(=)
int a1 = 10 ;
int b1 = ++a1;
System.out.println(b1);//输出11
//后++先运算,后自增
int a2 = 10;
int b2 = a2++;
System.out.println(b2);//输出10
}
}
+=也不会改变数据类型
package com.csy;
public class variableTest8 {
public static void main(String[] args) {
short s1 =10 ;
//s1 = s1 + 2 ; 会报错,应为s1为short类型,2为默认的int类型,相加为int类型
s1 += 2 ;
System.out.println(s1);
}
}
三元运算符(凡是可以使用三元运算符的地方都可以改写成if else形式)
package com.csy;
public class variablrTest8 {
public static void main(String[] args) {
int a = 10 ;
int b = 5;
//获取较大值
int max = (a > b)? a: b;
//注意这里要接收结果,而且用来接收的数据类型能包括 表达式1 (a)和表达式2(b)的数据类型。
int a1 = 1;
double b1 = 1.1;
double num = (a>b)?a1:b1;
//如果不能同意为一个类型,则编译不通过。
String f = (a > b)? 2:"zzz";
//这里要注意的是三元运算符"?"后面为两个表达式,表达式中可以嵌套很多东西。
String res = (a > b) ? "a大" : (a == b) ? "a等于b" : "a < b";
}
}