Java数据类型与运算符

目录

一.数据类型

1.数值类型

1.整数

2.浮点数

3.字符型

4.布尔类型

2.引用类型

二.运算符

转义字符


一.数据类型

数据类型分为数值类型和引用类型,

Java八大基本数值类型:
(1)整数类型:byte、short、int、long
(2)浮点数类型:float、double
(3)字符类型:char
(4)布尔类型:boolean

引用类型String 数组 类 接口 枚举

1.数值类型

1.整数

//整数
byte a = 10;
int b = 20;
short c = 30;
long d = 40L;//long类型要在数字后面加一个L

2.浮点数

//浮点数
float e = 50.1F;//float类型要在数字后面加一个F
double f = 3.121212;

3.字符型

char a ='97';
char b ='B';

4.布尔类型

boolean flg= true;
boolean flg2=false;//只有两种,0是假,非0是真
System.out.println(flg);
System.out.println(flg2);

2.引用类型

//单引号里面是字符,双引号引起的若干字符,必须是String类型
        //数据类型分为数值类型和引用类型,基本数值类型分为整数byte short int long
        // ,浮点数float double ,字符char,布尔boolean
        //引用类型String 数组 类 接口 枚举。。
        String str ="hello";
        System.out.println(str);
        //注意问题:
        System.out.println("hello"+"world");//拼接 helloworld
        System.out.println("hello"+10+20);//其他数据类型和字符串使用+字符拼接,结果是字符串hello1020
        System.out.println(10+20+"hello");//这种情况要注意先加法30 hello
        System.out.println("hello"+(10+20));//hello30
        System.out.println(10+""+20+"hello");//1020hello
        System.out.println("a="+10+",b="+20);
        

二.运算符,常量,变量

1.转义字符

 

String s1 ="bit";
System.out.println(s1);
String s2 ="\"bit\"";//打印"bit"
String s3 ="\\\\bit\\\\";//打印\\bit\\
System.out.println(s2);
System.out.println(s3);

2.变量

变量分为成员变量和局部变量,没有全局变量,成员变量分为静态成员变量和普通成员变量,变量的命名,字母,数字,下划线,美元符号,使用小驼峰命名,小驼峰两个字母一个大写一个小写,大驼峰两个字母都是大写,成员变量定义在类的内部,方法的外部
 public static void main3(String[] args) {//类内
        int m1 = 10;
        int m_1 = 10;
        int m$1 = 10;

        {
            int a = 10;//局部变量
            int b = 15;
            System.out.println(b);
        }
        int a = 20;//成员变量
        System.out.println(a);
    }

 3.常量

常量:在程序运行当中不能修改
1.字面值常量
2.final修饰的变量-》常量
final int a = 10;
a = 99;//会报错 无法为最终变量a分配值
在程序运行的过程中,不可以修改
在程序编译的时候,就已经确定值了
变量名是大小写铭感的,即num和Num是不同的变量
最好不使用美元符号作变量
final int A = 10;
final int SIZE;
SIZE = 99;//只能初始化一次

4.强制类型转换

int转换为String
String str1 = num+"";
String Str2 = String.valueof(num);
String转换为int
int num = 10;
String ret =String.valueOf(num);
System.out.println(ret);
String ret2 = num+"";
System.out.println(ret2);
        String str = "123";
        int ret = Integer.valueOf(str);
        System.out.println(ret+1);//整数转字符串
        //int->Integer
        //char->Character
        //其他的都是大写首字母即可
int a = 10;
long b = a;
System.out.println(b);
// long l = 1111111112L;
// int d = int(l);//强制类型转换
        /*int a = 10;
        boolean b = (boolean) a;
        boolean c = true;
        int d = (int)c;//int 转换不了boolean型
         */
        byte a = 1;
        byte b = 2;
        byte c = (byte)(a+b);//强制类型转换
        System.out.println(c);

        int i1 = 10;
        long l1 = 20;
        int i2 = (int)(i1+l1);//强制转换,为了提高效率,计算机的CPU按照4个字节读取,一般把byte提升为int
        System.out.println(i2);

5.运算符

除法求余 (+ - * /)

        int a = 10;
        int b = 2;
        int c = 1;
        System.out.println(a/b);//输出5
        System.out.println(c/b);//输出0
        System.out.println(10%3);//求余数1
        System.out.println(11.5%2);//1.5
        System.out.println(-10%3);//-1
        System.out.println(10%-3);//1
        System.out.println(-10%-3);//-1
        System.out.println("Fasfasfasfas");

6.自增自减

前置++:先++,后使用

后置++:先使用,后++

前置--:先--,后使用

后置--:先使用,后--

        //自增自减
        int a = 10;
        int i1 =a++;//先使用,后++
        a++;
        System.out.println(a);//12
        System.out.println(i1);//10

        int c =10;
        int i2 = ++c;//先++,后使用
        c++;
        System.out.println(c);//12
        System.out.println(i2);//11
        //a-- 先使用,后--
        //--a 先--,后使用

7.关系运算符

使用关系运算符的结果是布尔boolean值,真或假0

        int a = 10;
        int b = 20;
        System.out.println(a == b);//false
        System.out.println(a != b);//true
        System.out.println(a < b);//true
        System.out.println(a > b);//false
        System.out.println(a <= b);//true
        System.out.println(a >= b);//false

 8.逻辑运算符

[表达式1&&表达式2]两个表达式都是布尔表达式
短路:如果表达式1为假,就不执行表达式2
只要一个表达式为真,整个表达式就为真
短路:如果表达式1 为真 就不执行表达式2了
!布尔表达式
!false = true
       int a =10;
        int b = 20;
        int c = 30;
        //逻辑与
        System.out.println(a < b && b < c);//true
        System.out.println(a < b && b > c);//false
        //逻辑或
        System.out.println(a < b || b < c);//true
        //逻辑非
       // System.out.println(!a < b);报错
        System.out.println(!(a < b));//是布尔表达式false
        //短路
        System.out.println(a > b && a / 0 == 0);
        //前面的布尔表达式已经是一个错误的false,不会执行后面
        System.out.println(a < b && a / 0 == 0);
        //发生报错,第一个表达式正确,第二个本身不正确,会报错false
        System.out.println(a < b && a / 2 == 5);//true
       

9.位运算符


三种位运算符 & | ^

        //按位与 & 对应比特位全1为1
        System.out.println(a & b);//0
        //按位或 | 对应比特位有1为1
        System.out.println(a | b);//30
        //按位异或 ^ 对应比特位同为0 不同为1,找不同
        System.out.println(a ^ b);//30
        //按位取反 ~ 0变成1 1变成0
        int c = 0xf;
        System.out.printf("%x\n",~c);//fffffff0

10.移位运算符

移位运算符三个 << >> >>>
左移 <<
 0000 1011 << ->0001 0110 22 11*2^1
 0000 1011 << ->0010 1100 44 11*2^2

右移 >>
0000 1011 >>1 ->0000 0101 5 11/2^1
0000 1011 >>2 ->0000 0010 2 11/2^2
无符号右移 >>>
1111 1111 >>> ->0111 1111
        int a = 12;
        System.out.printf("%x\n",a << 1);//左移 右侧补0  18
        System.out.printf("%x\n",a >> 1);//右移6
        System.out.printf("%x\n",a >>> 1);//无符号右移6

 11.三目运算符

表达式1 ? 表达式2 :表达式3 

表达式1成立,输出表达式2,反之,输出表达式3

        int a = 10;
        int b = 20;
        int max = a > b ? a : b;
        System.out.println(max);//20
        //优先级,据逻辑加括号即可
        System.out.println((1+2)*b);//60
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值