Java第三章(复习)-创新互联

1.boolean数据类型

boolean - 布尔值 ,true(真),false(假)

成都创新互联公司成都网站建设按需设计网站,是成都网站制作公司,为围栏护栏提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站设计热线:18982081108

1.boolean 定义

//规定中boolean只有俩个值:true;false;
        boolean a = true;
        boolean b = false;
//        boolean c = 1;//编译错误,1不能boolean类型,不能赋值给变量c

2.运算 逻辑运算

&& 与运算 || 或运算 ! 非运算

boolean c = a&&b;
c = a||b;
c = !a;

3.boolean类型主要用于条件判断

int age = 19;
boolean d = age >18 ;//age>18 结果是true 使用d= true;
if (d){//if..else 就是判断boolean的数据值,如果为真 就输出成年人 如果为假 就输出未成年人
    System.out.println("成年人");
}else {
    System.out.println("未成年人");
}
2.数据类型转换

1.自动转换:

小类型自动转换大类型

byte->short->int->long->double

char->int

2.强制数据类型转换

大类型转换成小类型,需要强制转换

//        int a2 = 3.6;//编译错误 3.6是double类型 a2是int 不能直接转换
        int a2 = (int)3.6;//强制数据类型转换 在数据3.6的前面加(int) 告诉程序,把这个3.6转化成int
        System.out.println("a1:"+a1);
        System.out.println("a2:"+a2);

转换会出现 精度会丢失,或者溢出

double d = 3.141592666666666;
        float d1 = (float) d;
        System.out.println("精度丢失:"+d1);//3.1415927
​
        long data = 10000000000L;
        int data1 = (int) data;
        System.out.println("溢出:"+data1);//1410065408
​
        byte b1 = 100;
//        byte b2 = 128;//编译错误,超出byte的取值范围
        short s1 = 100;
//        short s2 = 1000000;//编译错误,超出short的取值范围
        byte b2 = 5;
//        byte b3 =(b1 + b2);//编译错误,byte数据类型不匹配 运算中byte或者short 都会转换成int的结果
        byte b3 = (byte)(b1 + b2);
        System.out.println("b3:"+b3);
​
        short s2 = 200;
//        short s3 = (s1 +s2);//编译错误,short数据类型不匹配 运算中byte或者short 都会转换成int的结果
        short s3 = (short) (s1 +s2);
        System.out.println("s3:"+s3);
​
        short s4 = 10+10;//10+10是可以的 先运算再赋值给short s4
3.算数运算符

算数运算符: + - * / %

++ ​ -- 符号 (+,-) 能做算数运算的类型: byte short int long float double 做算术运算的类型: boolean,其他复杂类型

1.取余(%)运算

boolean k = data1 % 3 == 0;
System.out.println("k:"+k);

2.++,--运算

int i = 5;
i++;//自增 i = i + 1 先用后加
++i;//自增 i = i + 1 先加后用
System.out.println(i);
i--;//自减 i = i - 1 先用后加
--i;//自减 i = i - 1 先加后用
​
int j = ++i;//前自增 先对i进行增加 然后把增加之后的数据值 赋值给变量j
System.out.println("i:"+i+",j:"+j);
​
j = i++;//后自增 先把原本的数据值 赋值给变量j 再对i进行增加
System.out.println("i:"+i+",j:"+j);
​
int i1 = i++ + j++ + i--; //i++ = 7 j++ = 6 i-- = 8
System.out.println("i1:"+i1);//21
​
int a = 1;
​
int i2 = ++a + a++ + ++a;
//1.运算++a,得到结果后压栈1
//2.运算a--,得到结果后压栈2
//3.将栈1+栈2
//4.运算++a,得到结果后压栈3
//将栈1+栈2的结果,与相加栈3
System.out.println(i2);

3.符号(+ -)

int m1 = -5;
int m2 = +5;
int m3 = -5 - 5;
int m4 = -5 + 10;
int m5 = -5 + +10;
System.out.println("m1:"+m1);
System.out.println("m1:"+m2);
System.out.println("m1:"+m3);
System.out.println("m1:"+m4);
System.out.println("m1:"+m5);
4.关系运算

大于(>) 大于等于(>=) 等于(==) 不等于(!=) 小于(<) 小于等于(<=)

能进行关系运算:byte short int long float double

不能进行关系运算:boolean

1.关系运算的结果为boolean类型

int a = 100;
int b = 200;
boolean r = a >b;//关系运算 r是false
​
char c = '中';
char c1 = '国';
if (c>c1){//c>c1 如果满足条件 那么就true 否则为false
    System.out.println("中的编码大于国的编码");
}else{
    System.out.println("国的编码大于中的编码");
}

2.等于(==)

int a1 = 10;
        int a2 = 20;
//        int a3 = a1==a2;//编译错误 a1==a2 是条件运算 结果是boolean类型 不能赋值给int类型
        int a3 = a2 =a1;//"="是赋值运算
        System.out.println("a1:"+a1+",a2:"+a2+",a3:"+a3);
        //练习找到俩个数大的值
        a1 = 30;
        a2 = 50;
        if (a1>=a2){
            System.out.println("大值是:"+a1);
        }else {
            System.out.println("大值是:"+a2);
        }
5.逻辑运算

逻辑运算 && || ! & |

运算规则 与运算 (全为真则结果为真,有假则结果为假)

或运算 (全为假则结果为假,有真则结果为真) ​ 非运算 (真变假,假变真,本质就是取反) 逻辑运算的结果是boolean类型 能做逻辑运算的类型:boolean 不能做逻辑运算的类型:byte short int long float double

1.运算

boolean b1 = true;
boolean b2 = true;
boolean b3 = false;
boolean b4 = b1 && b2;//true
System.out.println("b4:"+b4);
​
b4 = b1 && b2 && b3;//false
System.out.println("b4:"+b4);
​
b4 = b1 || b3;//true
System.out.println("b4:"+b4);
​
b4 = b1 || b2 ||b3;//true
System.out.println("b4:"+b4);
​
b4 = !b3;//true
System.out.println("b4:"+b4);
​
b4 = !( b1 || b2 );//false
System.out.println("b4:"+b4);
​
b4 = !( b1 && b3 ) || b3;//true
System.out.println("b4:"+b4);
​
int a = 3,b = 5;
boolean b5 = a >b && a++ >1;
//a>b是false 那么&&运算结果已经确定了是false 这里是"短路&&"
//所有后面的a++ >1 就不会执行 因此最终a还是3
System.out.println("a:"+a);
​
a = 3;
b = 5;
b5 = a >b & a++ >1;
//a>b是false 那么&运算结果已经确定了是false 这里是"不短路&&"
//所有后面的a++ >1 就会执行 因此需要a++,a的值就会变成4
System.out.println("a:"+a);
​
a = 3;
b = 5;
b5 = a< b || a++ >1;
//a1 就不会执行 因此最终a还是3
System.out.println("a:"+a);
​
a = 3;
b = 5;
b5 = a >b || a++ >0;
​
System.out.println("a:"+a);
6.赋值运算符及三目运算

+= , -= , *= , /= , %= 扩展的赋值运算符: 表示变量的数据取出来和其他数据进行运算,然后把运算结果赋值给变量

int k = 10;
k += 20;//k=? 这里是k+=20 等价于 k = k + 20; 所有k=30
System.out.println("k:"+k);

k/=4;//k=2 相当于 k = k / 4 所以结果为7
System.out.println("k:"+k);

"+" 用于字符串的拼接

String str = "hello";
System.out.println(k + k + str);//14hello
System.out.println(k + str + k);//7hello7
System.out.println(str + k + k);//hello77
System.out.println(str + (k + k));//hello14
System.out.println((str + k) + k + k);//hello777
System.out.println(str + k + k);//hello77
System.out.println(k + k + k + k);//28

三目运算

int age =19;
String info = age>18?"成年人":"未成年人";//需要把三目运算的结果,赋值给一个变量 保存起来
System.out.println("info:"+info);

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前题目:Java第三章(复习)-创新互联
当前链接:http://scyanting.com/article/epdso.html