Java语言基础知识

   关于Java语言基础知识,需要掌握类型转换知识 运算符的使用 如何调用Java写好的一些程序。

一,类型转换

1.自动类型转换

        在开发过程中会出现不同类型变量赋值给其他类型变量的情况,自动类型转换是类型范围小的变量,可以直接复制给类型范围大的变量。

如:byte➡short➡int➡long➡float➡double    注意char是直接赋值给int的。如下的理解:

public class TypeDemo {
    public static void main(String[] args) {
        //目标:理解自动类型转换
        byte a =18;
        int b =a;    //自动类型转换
        System.out.println(b);  //输出18

        
        int c = 78;
        double d = c;  //自动类型转换
        System.out.println(d);  //输出78.0


        char e = 'a';
        int f =e ;   //自动类型转换
        System.out.println(f);  //输出97
    }
}

2.表达式的自动类型转换

在表达式中小范围的变量自动转化成当前较大范围的类型再运算

byte,short,char➡int➡long➡float➡double

注意:•表达式的最终结果类型由表达式中的最高结果类型决定

          •在表达式中,byte,short,char  是直接转换成 int 类型参与运算的

如下理解:

public class TypeDemo2 {
    public static void main(String[] args) {
        //目标:理解表达式中自动转换类型的规则
        byte a = 12;
        int b = 32;
        double c = 2.8;
       // int d = a+b+c;  //报错
        double d = a+b+c;   //表达式的最终结果类型由表达式中的最高类型决定
        System.out.println(d);  //输出46.8


        short e = 34;
        short f = 13;
      //  short w =e+f;  //报错
        int w= e+f;
        System.out.println(w);
    }
}

3.强制类型转换

强制类型转换是强行的将类型范围大的变量的数据赋值给类型范围小的变量

公式:数据类型 变量 =(数据类型)变量

注意:※可能会出现数据丢失

          ※小数强制转换成整型是直接保留整数

如下解释:

public class TypeDemo3 {
    public static void main(String[] args) {
        //目标:理解强制转换并使用

        int a = 20;
      //  byte b =a;   //类型范围大的数据或变量,不能直接赋值给类型范围小的变量
        byte b = (byte) a;
        System.out.println(b);  //输出20


        int i = 1500;
        byte j =(byte)i;
        System.out.println(j);   //输出-36      //出现数据丢失
        
        
        double score =99.9;
        int sc =(int) score;
        System.out.println(sc);  //输出99      //小数强制转换成整数直接保留整数
    }
}

二,运算符

1.基本算数运算符+ - * /  %

重点理解%  取余如3%2 =1

如下:

public class OpertDemo1

{
    public static void main(String[] args) {
        //掌握基本的运算符+ - * /  %
        int a =100;
        int b =3;
        System.out.println(a+b);  //103
        System.out.println(a-b);  //97
        System.out.println(a*b);  //300
        System.out.println(a/b);  //33
        System.out.println(a%b);  //1   
}
}

案例:.数据拆分

如一个数678,如何分别输出它的各位,十位,百位  此时就要熟练运用/ %

package opert;

public class OpertDemo1

{
    public static void main(String[] args) {
        //掌握数据拆分
        int date = 678;
        //1.输出各位
        int gewei =date %10;
        System.out.println(gewei);  //输出8

        //2.输出十位
        int shiwei = date/10%10;
        System.out.println(shiwei);//输出7


        //3.输出百位
        int baiwei = date /100;
        System.out.println(baiwei);  //输出6  注意不要把符号写成% 输出78
    }
}

2.+符号做连接符

"+"符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串

•能算则算,不能算则直接连在一起输出

package opert;

public class OpertDemo1

{
    public static void main(String[] args) {
        //掌握+符号的识别   原则:能算就算,不能算就连在一起输出   //'a'为97

        int a =5;
        System.out.println("abc" +'a');  //abcd
        System.out.println("abc" +a);    //abc5
        System.out.println(5 +a);     //10
        System.out.println("abc" +5 +'a');   //abc5a
        System.out.println( 12 +"abc" +15);   //12abc15
        System.out.println(a +'a');        //102
        System.out.println(a +"" +'a');    //5a
        System.out.println(a+'a' + "fcbx");   //102fcbx
        System.out.println("fcbx" +a +'a');   //fcbx5a
        System.out.println( "fcbx" +( a +'a'));    //fcbx102
    }
}

3.自增自减运算符

++ 自加,变量自身加一

--   自减, 变量自身减一

注意:++ 与-- 可以放在变量前面,也可以放在变量后面

++ --只能操作变量,不能操作字面量

自加,自减运算符如果单独使用时放前后没有区别,但是如果单独使用,

在变量前,先进行变量自增/自减,在使用变量

在变量后,先进行使用变量,在进行变量的自增/自减

如下理解:

package opert;

public class OpertDemo1

{
    public static void main(String[] args) {
        //目标:学会使用自增自减运算符   ++  --
        int a =10;
        a++; //a=a+1
       // ++a; //a=a+1
        System.out.println(a);  //11

        int b=12;
        b--;  //b=b+1
        //--b
        System.out.println(b);  //11


        //目标:掌握 在表达式或不是单独使用的情况下, ++  --在变量前后的区别

        //1. ++  --在变量前,先+1 -1,再使用
        int m =12;
        int n =++m;
        System.out.println(m);  //shuchu 13
        System.out.println(n);   //shuchhu13

        //2. ++  --在变量后,先使用,再+1 -1
        int i =10;
        int j =i++;
        System.out.println(i);  //11
        System.out.println(j);   //10
    }
}

4.赋值运算符

基本赋值运算符:  =

扩展赋值运算符:

+=  加后赋值   a+=b   (a=a+b

-= 减后赋值      a-=b     (a=a-b

以此类推,*=  /=  %= 

注意:扩展的赋值运算符隐含了强制类型转换,以a的数据类型为准

5.关系运算符:是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)

==  a==b 判断a和b是否相等     (成立输出true,不成立输出false)

!=   a!=b判断a和b是否不相等    (成立输出true,不成立输出false)

以此类推,   <   <=   >    >=

注意:在做相等判断时,不要把==写成 =

6.逻辑运算符:可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果。

         &      逻辑与               条件必须都是true,结果才是true;否则结果是false

          |      逻辑或               只要一个条件为true,结果就是true

          !   逻辑非               你假我真,你真我假。 !true=false      !false=true

          ^     逻辑异或            如果两个条件都是false或true则结果是false,两个条件不同是true

如下:

package opert;

public class OpertDemo1

{
    public static void main(String[] args) {
       //目标:学会使用逻辑运算符,并能够选择合适的逻辑运算符解决问题
        int age =24;
        double height =178;
         //需求1:年龄大于等于18,且身高大于等于168
        System.out.println(age>=18&height>=168);  //true

        //需求2.年龄大于等于18,或身高大于等于180
        System.out.println(age>=18| height>=180);   //true

        System.out.println(!true);       //false
        System.out.println(!false);   //true

        //逻辑异或,必须两个结果不同才是true
        System.out.println(false^false);     //false
        System.out.println(true^false);      //true

    }
}

短路逻辑运算符

      &&   短路与      结果判断与&一样,过程左边是false,右边不执行

       ||     短路或      结果判断与|一样,过程是左边为true,右边不执行

注意:&,|  无论左边是false还是true,右边都执行

如下:

package opert;

public class OpertDemo1

{
    public static void main(String[] args) {
       int a=10;
       int b=20;
        System.out.println(a>100 && ++b>10);  //false
        System.out.println(b);    //输出20

        System.out.println(a>100 & ++b>10);   //false
        System.out.println(b);   //21

        System.out.println(a>2||++b>20);  //true
        System.out.println(b);    //21

        System.out.println(a>2|++b>20);   //true
        System.out.println(b);   //22
    }
}

7.三元运算符介绍

●格式:条件表达式? 值1  : 值2

●执行流程:首先计算关系表达式的值,如果值为true,返回值1;如果值为false,返回值2

具体操作如下:

public static void main(String[] args) {
       //目标:学会使用三元运算符,理解其流程
        double score=99.9;
        String rs =score>=60? "考试通过" :"挂科";
        System.out.println(rs);    //考试通过


        //需求:从两个整数中输出其中较大的
        int a =10;
        int b=1000;
        int MAX = a>b? a:b;
        System.out.println(MAX);  //1000

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ananan__2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值