Java基础篇-基础数据类型/运算符

Java基础篇


一、变量

1.常用的基本类型

  1. 计算机的基础单位是bit(位/比特),1bit就是一个一个二进制的数,代表一个内容;比如就是‘0’或者‘1’其中的一个;
  2. 常用的基本类型有:
  • byte:整数型,占用1个字节,即8位(00000000),是计算机文件计算的基础单位,127( 2 7 − 1 2^7 - 1 271)到-128( − 2 7 -2^7 27),默认值是0;
  • short:整数型,占用2个字节, 2 15 − 1 2^{15} - 1 2151 − 2 15 -2^{15} 215,默认值为0;
  • int: 整数型,占用4个字节, 2 31 − 1 2^{31} -1 2311 − 2 31 -2^{31} 231,默认值为0;
  • long: 整数型,占用8个字节, 2 63 − 1 2^{63} -1 2631 − 2 63 -2^{63} 263,默认值为0L;
  • float: 单精度浮点型,占用4个字节,运算是会产生误差,精确计算时不可使用,默认值是0.0f;
  • double: 双精度浮点型,占用8个字节,运算是会产生误差,精确计算时不可使用,默认值是0.0;
  • boolean:布尔类型,占用4个字节,只有true和false两种类型,默认值是false;
  • char:字符型,占用1个字节,是采用Unicode编码格式,变现形式是char类型是指是int类型,char 数据类型可以储存任何字符;其中一下常用必须记住:

在ASCII码(Unicode中的一种)值中:
‘a’ = 97 , ‘b’ = 98;
‘A’ = 65 , ‘B’=66;
‘0’ = 48 , ‘1’ = 49;
常见ASCII码的大小规则:数字< 大写字母 < 小写字母;
最小值是 \u0000(十进制等效值为 0);
最大值是 \uffff(十进制等效值为 65535);

unicode:万国码、统一码,是世界级通用的定长(16位)字符集,包含世界上的所有符号,因为符号太多,所以有被划分为很多子集(如:ASCII码、utf-8等),Java中的char采用的是其中最最最常用的子集;

附一张unicode得范围图(了解即可,后续会详细写):
在这里插入图片描述
3. 声明变量及赋值

//第一种
int a , b , c;
a = 1;
b = 2;
c = 3;
//第二种
int a = 1;
int b = 2; 
int c = 3;
//第三种
int a = 1 , b = 2 , c = 3;

其中char不同的是必须放在单引号(‘’)中,并且只能放一个字符
例如char a = '7';

  1. 基本类型从小到一次为:
    byte < short < int <long < float < double < char

2.基本变量的相互转换

  1. 小转大自动转
  2. 大转小被动转,语法:(变量类型)变量名,例如
	 int a = 5;
     long b = a;//小转大自动转换
     int c = (int)b;//大专小强制转换

注意:

  • 整数直接量可以直接赋值给byte,short,char,但不能超出其中类型范围;
  • byte,short,char型数据参与运算时,系统会一律先将其转为int再运算;
  • 基本类型证书行默认类型是int,浮点型默认类型是double,在非次类型计算过程中会优先转化为默认类型在进行计算;

二、运算符

1. 算数运算符:

  • 加+ 、 减- 、 乘* 、 除 / 、 取余% 、 加加++ 、减减-- :
  • %:取余/取模,余数为0即为整除
  • ++/–:自增1/自减1,可在变量前也可在变量后
  • 单独使用时,在前在后都一样(以分号为结尾,一句话只有a++;或++a;)
  • 被使用时,在前在后不一样 a++的值为a; a–的值为a;
    ++a的值a+1;–a值为a-1;
//单独使用
int a = 5 , b = 5;
a++;//相当于a = a+1
++b;//相当于b = b+1
System.out.println(a);//6
System.out.println(b);//6
//被使用一
int a = 5 , b = 5;
System.out.println(a++);//5
System.out.println(++b);//6
//被使用
int a = 5 , b = 5;
int c = a++;//1)将a++的值赋给c是 5;  2)a在自增1 = 6; 
int d = ++b;//1)1) 将++b赋值给d是6;  2) b自增1变为6; 
System.out.println(a);//6
System.out.println(b);//6
System.out.println(c);//5
System.out.println(d);//6

2. 关系运算符:

  • 小于< 、大于 > 、小于或等于<= 、大于或等于>= 、等于== 、 不等于!=
  • 关系运算的结果为Boolean型;关系成立则为true,关系不成立则为false

3. 逻辑运算符:

  • 与&&:短路与(并且),两边都为真则为真;

见false则false若第一个条件为false,则发生短路(后续代码不执行)

//与短路
boolean b2 = a > b && c++ > 2;
System.out.println(b2);//false
System.out.println(c);//5(因为发生与短路,&&后面的c++不执行)
  • 或||:短路或(或者),有真则真,见true则true;

若第一个条件为true,则发生短路(后面的不执行了)

//或短路
boolean b3 = a < b || c ++ >2;
System.out.println(b3);//true
System.out.println(c);//输出5 , (因为发生或短路,||后面的c++不执行)
  • 非!:逻辑非(取反),非真则假,非假则真

逻辑运算是建立在关系运算的基础之上的,逻辑运算的结果也是Boolean型

4. 赋值符和扩展赋值符:

  • 赋值符:=
  • 扩展赋值符:+=,-=,/=,*=,具有强转类型功能,此处需要十分注意!
int a = 5;
a += 10;//相当于a = a + 10
System.out.println(a);//15
//小面试题
short s = 5;
//s = s + 10 ;//编译错误,需要强转,改为:s= (short)(s + 10)
s += 10;//扩展符号+= 具有强转类型功能,相当于:s= (short)(s + 10)

5. 字符链接:+

  • char:字符 , 单引号中,只能放一个;
  • string:字符串,双引号中,放0-多个字符

若两边位数字则做加法运算
若两边出现了字符串,则做字符串的连接
任何类型的数据只要和字符串连接结果一定是字符串

//常规链接:输出的名字叫zhangsan,今年38了
int age = 38 ;
String name = "zhangsan";
System.out.println("我的名字叫" + name + ",今年" + age + "了");
//int类型和字符串连接,存在字符串则为字符串类型
System.out.println(30 + 20 + "" + 30);//string类型5030
System.out.println("" + 30 + 20 + 30);//string类型302030
System.out.println(30 + 20 + 30 + "");//string类型80

6. 条件运算符/三目运算符

一目:操作一个数的符号:++ 、 – 、 !

  • 二目:操作两个数的符号
  • 三目:条件/三目运算符,操作三个数的符号:
    • 语法:boolean值(true/false) ? 数1 : 数2
    • 执行过程:整个表达式是有值的,他得值要么是?号后面的数1 , 要么是:号后的数2
    • 计算boolean的值:
      • 若为true,则整个表达式的值为:号左边的数1
      • 若为false,则整个表达式的值为:号右边的数2
//输出a和b的最大值
int a = 8, b = 5;
int max = a > b ? a:b;
System.out.println("max=" + max);//8

总结

  1. 基本数据类型有:
  • 整数型:byte , short , int , long ,
  • 浮点型:float , double,
  • 布尔型:boolean,
  • 字符型:char,
  1. 变量的赋值和转换,小转大自动转,大转小需要强转;
  2. 算数运算符:
  • 加+ 、 减- 、 乘* 、 除 / 、 取余% 、 加加++ 、减减-- ;
  • %:取余/取模,余数为0即为整除;
  • ++/–:自增1/自减1,可在变量前也可在变量后;
  1. 关系运算符
  • 小于< 、大于 > 、小于或等于<= 、大于或等于>= 、等于== 、 不等于!= ,结果是布尔型;
  1. 逻辑运算符
  • &&短路或 , ||短路与 , !非
  1. 赋值符-具有类型强转功能:
  • = , += , -= , /= , *=
  1. 三目运算符:布尔类型 ? 值1 : 值2;布尔类型为true是值1,布尔类型为false时是值2;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值