栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据类型和运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据类型和运算符

一,数据类型

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

//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);//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 

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

5,移位运算

左移,相当于乘法

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

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602348.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号