Java基础-类型转换与常用运算符。

1.自动类型转换,即类型范围小的变量可以直接赋值给类型范围大的变量

类型的转换规律:byte -->short-->int-->long-->float-->double

        char-->int

        byte a =12;
       
        int b = a;
        System.out.println(b);//12

 

2.表达式的自动类型转换 ,即小范围类型自动转换成较大的类型才进行运算

复制代码
        byte a =10;
        int b = 10;
        double c =1.0;
        double rs = a+b+c;
        System.out.println(rs);//21.0


        byte i = 10;
        byte j = 20;
        //byte k =i+j; 错误 因为结果已经变成int类型
        int k = i+j;
        System.out.println(k);//30    
复制代码

3.强制类型转换 

注意事项!!

1).大范围数据类型转换成小范围数据类型会发生报错

2).强制转换过程中可能会造成数据的丢失。 如浮点型转成整形会造成小数部分的数值的丢失

复制代码
        byte b = (byte) a;
        System.out.println(b);//20
        System.out.println(a);//20



        int i = 1500;
        byte j = (byte) i;
        System.out.println(j);//-36 数据丢失

        //浮点型转成整形会丢失小数部分
        double score = 99.5;
        int it = (int) score;
        System.out.println(it); //99   
复制代码

4.java的基本的运算符,包括 +、-、*、/、%。

复制代码
        int a =10;
        int b =3;
        System.out.println(a + b);
        System.out.println(a * b);
        System.out.println(a - b);
        System.out.println(a / b); //值为整数 若要为小数,则要在a*1.0
        System.out.println(a *1.0 / b); //值为整数 若要为小数,则要在a*1.0
       
         System.out.println(a % b);  //取余数
        
复制代码

5.数字的拆分输出

假设一个数为5896

它的个位数等于 5896除以10的余数

它的十位数等于 5896除以10的商 除以10 的余数

它的百位数等于 5896除以100的商 除以10的余数

它的千位数等于 5896除以1000的商 除以10的余数

复制代码
        int data =5896;
        //个位
         int ge =data %10;
        //十位
        int shi = data/10 %10;
        //百位
        int bai = data / 100 %10;
        
        //千位
        int qian = data /1000 %10;
        
        System.out.println(ge);//6
        System.out.println(shi);//9
        System.out.println(bai);//8
        System.out.println(qian);//5
复制代码

6.+ 符号与运算符运算的时候是用作连接符,其结果为字符串;

口诀:能运算就相加,不能运算就在一起

复制代码
       int a =5;
        System.out.println("abc" + 'a');//abca
        System.out.println("abc" + a);//abc5
        System.out.println(5 + a);//10
        System.out.println("abc" + 5 + 'a');//abc5a
        System.out.println(a + 'a');//102
        System.out.println(a + " " + 'a');//5a
        System.out.println(a + 'a' + "asdd");//5aasdd
        System.out.println("sdsa" + a + 'a');//sasa5a
        System.out.println("sddd"+(a + 'a'));//sddd102
复制代码

7.自增自减运算符

++变量自身加1

--变量自身减1

注意!! 只能操作变量不能操作字面量

若是在表达式中

++或--放在变量前面,则变量先进行+1或-1,再使用

反之,则是先使用然后在加一减一

复制代码
    //++变量自身加一
        //--变量自身减一
        //++ --只能操作变量,不能操作字面量
        int a = 10;
//        a++; //a=a+1
        ++a;//a=a+1没差别
        System.out.println(a);//11

        int b =10;
        --b;
        System.out.println(b);//9

        //不是单独使用 在表达式中
        //放在前面,x先加一或减一,再使用
        int i =10;
        int j =++i;
        System.out.println(i);//11
        System.out.println(j);//11

        //放在后面,先使用然后在加一或减一
        int n =10;
        int m= n++; //第一步  m=n=10 然后n=n+1=11

        System.out.println(n);//11
        System.out.println(m);//10

        System.out.printf("-----------拓展---------");


        int k =3;
        int p= 5;
        //k 3 4 5 4
        //p 5  4  3 4
        //rs    3   +   5  -  4 + 4  -  5   +  4  +2
        int rs =k++ + ++k - --p + p-- - k-- + ++p +2;

        System.out.println(k); //4
        System.out.println(p);//4
        System.out.println(rs);//9        
复制代码

8.赋值运算符 = += -= *= /= %=

复制代码
        int a = 10;
        int b =200;
        a +=b;//a=a+b
        System.out.println(a);//210     

    int m =10; int n=23; m-=n;//m=m-n 其余符号同里 System.out.println(m); //-13
复制代码

9.关系运算符 返回布尔类型

        int a =10;
        int b = 10;
        boolean rs = a == b;
        System.out.println(rs);//t
        System.out.println(a == b);//t
        System.out.println(a != b);//f
        System.out.println(a > b);//f    

10.逻辑运算符 & | !^

复制代码
        double size = 9.8;
        double storage = 6;
        //尺寸大于6.95 内存大于8GB
        System.out.println(size >= 6.95 & storage >= 8);//
        System.out.println(size >= 6.95 | storage >= 8);//或0    }
        System.out.println(!true);
        //两个一样结果才为true
        System.out.println(true ^ true);
        System.out.println(false ^ true);


        System.out.println("-----------&& & || | 的区别");

        int a = 10;
        int b = 20;
        System.out.println(a > 100 && ++b > 10); //左边为false 右边不执行
        System.out.println(a > 100 & ++b > 10);
        System.out.println(b);


        int i = 10;
        int j =20 ;
        System.out.println(i > 2 || ++j > 10); //左边为true,右边不执行
        System.out.println(i > 2 | ++j > 10);
        System.out.println(j); 
复制代码

11.三元运算符

复制代码
        double score =98;
         String re=score >=60 ? "考试通过" : "挂科";
        System.out.println(re);


        //案例:需要从两个数中找出最大值
        int a = 10;
        int b =1000;

        int rs = a>b ? a:b;
        System.out.println(rs);

        //练习
        System.out.println("-----------------------------------");


        int i =10;
        int j =30;
        int k = 50;
        //找出两个整数的较大值
        int temp = i>j ? i:j;
        System.out.println(temp);

        //拿临时变量与第三个变量相比较

        int rsmax = temp > k ? temp:k;
        System.out.println(rsmax);

        System.out.println("-------------拓展知识-----------------");
        int remax = i > j ? (i  >k ? i : k)
: (j > k ? j : k);
        //首先 i与j相比较 若i大于j 则输出第一个括号里面的内容,若i大输出i,k大输出k
        //其次 若i小于k ,则输出第二个括号的内容
        System.out.println(remax); 
复制代码

12.键盘录入技术  通过查找API(应用程序编程入口)

复制代码
        //1.导包
        //2.new一个键盘扫描对象
        Scanner sc = new Scanner(System.in);
        //调用sc对象的功能等待用户接入数据
        //这个代码等待用户输入数据,按下回车键接收数据
        System.out.println("请输入您的年龄:");
        int age = sc.nextInt();
        System.out.println("您的年龄是:" +age);

        System.out.println("请输入您的名字:");
        String name = sc.next();
        System.out.println("您的名字是:");
        System.out.println("欢迎" +age +"岁的" + name +"到来!!!" );  
复制代码

 

posted @   LINwenguan  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示