Java 语言基础(JSD BASICS DAY03)

day 03

目录

day 03

基本类型间的转换

为什么类型间转换

两种转换方式

特殊情况

规则

运算符

算数运算符

关系运算符

逻辑运算符

赋值运算符

字符串链接运算符

条件运算符

预告


基本类型间的转换

为什么类型间转换

程序中当我们需要一个int型数据 但程序中只有一个double型数据

所以要将double数据类型转化为int类型.

两种转换方式

自动类型转换/隐式类型转换:从小到大

强制类型转换:从大到小

int a= 5;

long b =a;  //自动类型转换

int c = b; //编译错误,大到小必须强制类型转换

语法(要转换的成的数据类型)变量

int c = (int)b; //强制类型转换

特殊情况

 long d = 5;  //自动类型转换

double e = 5; //自动类型转换

System.out.println(e);//5.0,默认保留一位小数

long f =100000000000000L;

int(g) =(int)f;

System.out.println(g); //强制转换可能会发生溢出

double h = 25.987;

int i =(int) h;

System.out.println(i); //25 ,强转有可能丢失精度

        int a = 5;
        long b = a;//自动类型转换
        int c = (int) b;//强制类型转换

        long d = 5; //自动类型转换
        double e = 5; //自动类型转换
        System.out.println(e);//5.0 默认保留一位小数


        long f = 10000000000L;
        int g = (int) f;
        System.out.println(g); //1410065408,强转有可能发生溢出
        double h = 25.97;
        int i = (int) h;
        System.out.println(i); //25  强转有可能丢失精度

规则

  1. 整数直接量可以直接赋值给byte、shout、char但不能超出范围
  2. byte、short、char类型数据参与运算,时一律自动转换位int再运算
         byte b1 = 5;//5 为整数直接量
         byte b2 =6;
         //byte b3 = b1+b2; //byte shot char 在进行运算时会先自动转换转换为int类型进行计算
        byte b3 = (byte)(b1+b2);//所以要强制转换

        System.out.println(2+2);  //4
        System.out.println(2+'2'); //52 ,2加上‘2’的码50
        System.out.println('2'+'2'); //100, ‘2’的码50 加上‘2’的码

        int m = 'a';
        System.out.println(m); //97,查看字符对应的码
        //char n = (char)97;   //a,查看对应的字符 ,数字转字符可以不用强制转换
        char n = 97;
        System.out.println(n);

运算符

算数运算符

算数运算符时进行算数运算的符号

+、-、*、/、%、++、--

%:取模/取余,商之后剩下的数即为余数,余数为0即为整除。

++/-- :自增1/自减1,即在本身基础之上增1/减1

                                        相当于 a =a+1 或a=a-1

             可以写在变量前,也可以写在变量后

                          ++a  或 a++    --a 或a--

             不同场景写前和写后情况不同

              单独使用时,写前写后一样都是自增/自减1

                例:int a =5 ,b=5;

                        a++; //相当于a=a+1;

                        ++b;//相当于b=b+1;

              被使用时,写前写后不一样

               例:int a= 5,b =5;

                    int c = a--;  //先将a的值赋值给c,然后a自减1变为4

                    int d =--b;  //b先自减1 为4 ,然后将b的值4赋值给d

//1)%练习
        System.out.println(5%2); //1,商2余1
        System.out.println(8%2); //0,商4余0----整除
        System.out.println(2%8); //2,商0余2
        System.out.println(0%7); //0,商0余0

//2)++,-- 单独使用
        int a=5,b=5;
        a++; //相当于a=a+1
        ++b; //相当于b=b+1
        System.out.println(a); //6
        System.out.println(b); //6
         a=5;
         b=5;
        a--; //相当于a=a-1
        --b; //相当于b=b-1
        System.out.println(a); //4
        System.out.println(b); //4
//3)被使用
        int a=5,b=5;
        int c = a--; //将a--的值5赋值给c,同时a自减1变为4
        int d = --b; //将--b的值4赋值给d,同时b自减1变为4
        System.out.println(a); //4
        System.out.println(b); //4
        System.out.println(c); //5
        System.out.println(d); //4
        a=5;
        b=5;
        int c = a++; //将a++的值5赋值给c,同时a自增1变为6
        int d = ++b; //将++b的值6赋值给d,同时b自增1变为6
        System.out.println(a); //6
        System.out.println(b); //6
        System.out.println(c); //5
        System.out.println(d); //6

关系运算符

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

结果为Boolean型,关系为真则为true,关系为假则为false;

逻辑运算符

&&逻辑与(并且)两边为真则为真,见false则false

||逻辑或(或者)有真则为真,见true则true

!逻辑非(取反)非真则假,非假则真

短路/,当第一条件为false/true时,会发生短路(后面的代码不执行了

=

//逻辑非
        int a = 10,b=15,c=10;
        boolean b1 = !(a<b);
        System.out.println(b2);     //!true=false
        System.out.println(!(a>b)); //!false=true
//逻辑与
        boolean b2 = b>=a && b<c;
        System.out.println(b2);          //true&&false=false
        System.out.println(b<=c && b>a); //false&&true=false
        System.out.println(a==b && c>b); //false&&false=false
        System.out.println(b!=c && a<b); //true&&true=true
//逻辑非
        
        System.out.println(b>=a || b<c); //true||false=true
        System.out.println(b<=c || b>a); //false||true=true
        System.out.println(b!=c || a<b); //true||true=true
        System.out.println(a==b || b<c); //false||false=false
//短路
        /*
        boolean b3 = a>b && c++>2;
        System.out.println(b3); //false
        System.out.println(c);  //10,发生短路了
        */
        boolean b4 = a<b || c++>2;
        System.out.println(b4); //true
        System.out.println(c);  //10,发生短路了

赋值运算符

赋值运算符是用于给变量赋值的运算符

=,(+=,-=,/=,%=  )--->在本身基础之上做操作

例:int a= 2;

       a+=10; //12     相当于a=a+10

字符串链接运算符

字符串连接运算符是进行字符串连接的运算符

  “+”

1.若两边为数字,则做加法运算

2.若两边出现 了字符串,则作字符串连接

        一串字符,放在双引号中,长度没有限制(可以为空)

3.任何类型的数据与字符串连接,结果都会是字符串类型

int age = 18;
System.out.println("age=");  //age=
System.out.println(age);  //18
System.out.println("age="+age);  //age= 18
System.out.println("你今年多大了.  我今年刚满"+age+"岁~");  //age=
     
System.out.println(10+20+""+30); //3030 -----String
System.out.println(""+10+20+30); //102030 ---String
System.out.println(10+20+30+""); //60   -----String

条件运算符

条件运算符,也叫三目运算符

boolean表达式?表达式1:表达式2

执行过程:

int num = 5;
int flag = num>0?1:-1
System.out.println(flag);//1

预告

分支结构

Scanner接受用户输入数据

switch……case

循环

内容有问题欢迎指正

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值