public class Basic_2 {
/*
* byte,short,long,int整型
* boolean,真/假 true/false
* 编译:java-class-机器指令。
* javac Basic_2.java
* java Basic_2
*
* */
void booltest(){
boolean bool = false;
System.out.println("bool = "+bool);
bool = true;
System.out.println("bool = "+bool);
//bool = 0;报错,再次说明boolean的值只有true和false,不能使int
System.out.println("bool = "+bool);
}
void chartest(){
char c = 'n';
System.out.println(c);
char d = '中';
System.out.println(d);
}
void sorts(){
byte b = 0;
short s = 0;
int i = 0;
long lon = 0L;
float f = 0f;
double d = 0d;
i= (int) lon;
/*//字面量的整数为整型,小数字面量为双精度浮点型。
* 所以任何表数和小数进行算数运算的结果都为双精度浮点型。
* 所以:i= 0.5*2;会报错,
* 唯一能够不报错的操作就是强制类型转换。
* 高精度浮点型转换为单精度浮点型会损失精度。
* byte :-128到128,
* 所以,b = 200会报错,
*
*
*
*/
System.out.println();
}
public static void main(String[] a){
Basic_2 basic = new Basic_2();
// basic.booltest();
basic.chartest();
}
}
/**************************************************************************************/
package java运算符的分类;
public class Caclate {
void caculate(){
int i = 3/2;
System.out.println(3/2);
System.out.println(i);
System.out.println(3/2.2);
//上面的前两个的输出结果是相同的,都是1,最后一个输出是1.5
//所以可以得出结论,不是因为i的类型才导致输出结果为1,而是因为
//字面量,3、2的原因使得,所以计算的而结果的类型是因为字面量的最大类型而决定的
//所以如果 :i = 3/2.0 就会报错,因为3/2.0的值得类型由2.0决定,而小数的值是双浮点类型,double
//所以 不能给i赋值。
}
void boolcaculate(){
/*
* boolean c = a&b;
* 短路与&&
* 逻辑与&
* */
int a = 5;
int b = 6;
boolean c = a>b&&a++>7;
System.out.println("c = "+c+"a = "+a);
c = a>b&a++>7;
System.out.println("c = "+c+"a = "+a);
//逻辑与&,先判断a,无论a的结果如何,都会再判断b,
//短路与&&,先判断a,如果a的值为false,则不会再判断b的值。
//所以叫短路,短路就是把后面的一个条件省略了,跨过后面一个条件的判断直接返回结果。
/*输出结果:
* c = falsea = 5
c = falsea = 6
依次类推:逻辑或 短路或
逻辑或,第一个是true也需要去判断第二个的值
短路或,第一个是true就不再判断第二个值
* */
}
public static void main(String[] a){
Caclate cul = new Caclate();
cul.caculate();
cul.boolcaculate();
}
}
/****************************************************************/