数据类型和运算符

本文详细介绍了Java中的数据类型,包括基本数据类型的拼接规则,以及不同类型间的转换。强调了字符串拼接的特点,并展示了整数与字符串的转换方法。同时,讨论了变量的作用域、常量的概念及分类,以及算术、关系和逻辑运算符的使用。此外,还涉及了运算符如++的前置和后置用法,以及关系运算符和逻辑运算符的返回值特性。
摘要由CSDN通过智能技术生成

一,数据类型

 任何类型的数据和字符串进行拼接,其结果就是一个字符串;

//2,字符串的+表示字符串拼接
    public static void main2(String[] args) {
        String str1 = "ab";
        String str2 = "cd";
        System.out.println(str1+str2);
        String ret =10+str1+str2;
        System.out.println(ret);
        ret =str1+str2+10+20;
        System.out.println(str1+str2+10+20);//其结果就是一个字符串;
        ret =10+20+str1+str2;
        System.out.println(10+20+str1+str2);//其结果先相加再与字符串拼接
        int a = 10;
        int b = 20;
        System.out.println("a="+a+",b="+b);//a=10,b=20
        System.out.println("a+b="+a+b);//a+b=1020
        System.out.println("a+b="+(a+b));//a+b=30
        System.out.println(10+""+20+"ab"+"cd");//1020abcd
        System.out.println("10"+20+"ab"+"cd");//1020abcd
        System.out.println(10+20+a+b);//60
        System.out.println("10"+20+a+b);//10201020
        System.out.println(10+"20"+a+b);//10201020
        System.out.println("10"+(20+a)+b);//103020
    }

二,类型转换

1,大的数据类型---》小的数据类型,显式类型转换(要进行强制类型转换,可能精度丢失)

     强制类型转换不光看字节大小,还要看表示的数据;

    布尔类型只有true和false,不能进行强制类型转换

//4,long,double,float和int相互赋值
    //小范围的可以转换成大范围,大范围转换成小范围需要进行强制转换
    public static void main4(String[] args) {
        int a = 10;
        long b = 20;
        //a = b;显示错误
        a = (int)b;//进行了强制转换

        double d = a;
        int c = (int)d;

     //这里可以进行强制类型转换,但可能会精度丢失;
        float f = a;
        int e = (int)f;
    }

2,小的数据类型---》大的数据类型,隐式类型转换

3,不同类型的数据混合运算,范围小的会提升为范围大的

4,计算机在处理小于1个字节 的运算时,会把小于4个字节的全部提升为4个字节在参与运算

//5,数值提升:
    // int和long混合运算
    public static void main5(String[] args) {
        int a = 10;
        long b = 20;
        int c = (int)(a+b);//这里a+b的结果是一个long型
        System.out.println(c);
    //byte和byte的运算
        byte a1 = 1;
        byte b1 = 2;
        byte c1 = (byte) (a1+b1);//这里a+b是int型,因为计算机会将小于四个字节的类型先提升为四个字节的int.
        System.out.println(c1);
    }
//6,int和String之间的转换
    public static void main6(String[] args) {
        //int转成String
        int num = 10;
        String str1 = num+"";//方法一
        System.out.println(str1);
        String str2 = String.valueOf(num);//方法二
        System.out.println(str2);

        //String转成int
        String s = "10";
        int n = Integer.valueOf(s);
        System.out.println(n);
    }

 

 三,变量

变量的作用域是其所在的代码块(大括号)

变量名只能包含数字字母下划线,不能用数字开头

小驼峰命名法

四,常量

变量:是在程序运行的时候才会去取这个数据;

常量:是在程序编译的时候,就知道这个地方是几了

1,字面值常量

2,final关键字修饰的常量

常量不能在程序运行过程中发生修改

五,运算符

 

1,算术运算符:+   -   *   /      %(取余)

//7,运算符++a,a++
    public static void main7(String[] args) {
        int a = 10;
        a++;//等价与++a
        System.out.println(a);
    }

//8,运算符int b = a++; int b = ++a
    public static void main8(String[] args) {
        int a = 10;
        int b = a++;//结果为10,注意区分++前置(这时要先++再运行,如int b = ++a,则结果为11.)
        System.out.println(b);
        System.out.println(a);
    }

2,关系运算符的返回值只有两个,要么true,要么false

//9,关系运算符,结果为True或Ffalse
    public static void main9(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println(a==b);//F
        System.out.println(a!=b);//T
        System.out.println(a>b);//F
        System.out.println(a<b);//T
        System.out.println(a>=b);//F
        System.out.println(a<=b);//T
    }

3,逻辑运算符

逻辑与&&

特点:短路,如果表达式1为假,就不会继续执行表达式2了;

逻辑或||

特点:短路,如果表达式1为真,那么久不执行表达式2了;

//10,逻辑非!(操作为true,则结果为false;操作为false。则结果为true)
    public static void main(String[] args) {
        int a = 110;
        int b = 20;
        System.out.println(!(a<b));//a<b操作为false,逻辑非的结果为true
//逻辑或||(两个操作都为false,则结果为false,否则为true)
        int c = 30;
        System.out.println(a<b||b<c);//a<b操作为false,b<c操作为true,则结果为true
    }

4,位运算符:&、|、^、~ (针对二进制的)
 

5,移位运算

左移,相当于乘法

(左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.)

右移,相当于除法(有无符号右移)

 (右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值