Java基础学习 1 (变量,数据类型,运算符)

时间:2023-01-28 21:53:13

变量

在程序运行过程当中,其值可以发生变化的值。

  1. 变量,要有数据类型的规定。
  2. Java中变量的定义格式:数据类型 变量名 = 值。数据类型就是用来限定这个值的变化范围,限定是什么样类型的值。
  3. 变量其实就是在内存中开辟的一块空间,用来存储数据,可以通过数据类型声明。
  4. 变量首字母小写。
  5. 变量在使用之前必须赋值。
  6. 重新赋值,会覆盖掉旧值。
  7. 在同一个作用域里面,不能定义两个同名变量(作用域:就是一堆{}大括号所括 的范围)。

数据类型

数据类型分为:引用数据类型、基本数据类型。
基本数据类型如下所示:

基本数据类型 类型名 字节数

取值范围

整型 byte 1

-128~127

整型 short 2

-215~215-1

整型 int 4

-231~231-1

整型 long 8

-263~263-1

浮点型 float 4

\

浮点型 double 8

\

浮点型 boolean 1

\

浮点型 char 2

\

自动类型转换

byte、short、char在参与数学运算时,会自动提升为int类型。如果还有long、float、double参与运算,则会相应的提升为long、float、double。布尔类型不参与数学运算。byte、short、char之间不发生转换。

强制类型转换

强制将一个数据,转换成我们要的数据类型。强制类型转换,有可能会发生精度损失的问题(因为会丢掉多余字节)。

常量优化机制

多个常量相加时,它会先算出结果,看有没有在这个数据类型的范围内,如果不在就会报错。

面试题:char可以存储一个汉字吗?

char可以存储一个中文汉字,但是需要看编码格式。
char占两个字节。在GBK编码、ANSI编码中一个汉字占用两个字节,而utf-8编码中一个汉字占用三个字节。所以在GBK或者ANSI编码中,char可以存储一个中文汉字。而在utf-8中,char不可以存储一个汉字。

运算符

对常量或变量进行操作的符号。
运算符的分类:数学运算符,赋值运算符,比较运算符,逻辑运算符,三元运算符,位运算符。

1.数学运算符   +  -  *  /  %  ++  --

++、--在单独使用时,在前或在后都一样。而在混合使用时。++/--在前,是先运算再使用;++/--在后,是先使用再运算。

2.赋值运算符  =  +=  -=  *=  /=  %=       加等于(a += b等价于a = a + b)

+=、-=、*=、/=会自动帮你强制类型转换,它会判断运算完的结果在不在这个数据类型的范围内,如果不在会自动强制转换。

3.比较运算符 > >= < <= == !=

比较运算符的运算结果是布尔类型(即true或false)

4.逻辑运算符   &与   |或   !非   ^异或   &&逻辑与   ||逻辑或

  • 逻辑运算符的运算结果是布尔类型(即true或false)。
  • &两端都需要运算,&&只要左端为false,右端不需要运算(为了代码的运行效率,右端无论是true还是false都不影响最后结果(false))。
  • 丨两端都需要运算,丨丨只要左端为true,右端不需要运算(为了代码的运行效率,右端无论是true还是false都不影响最后结果(true))。

5.三元运算符   格式 :  表达式?结果1:结果2;

需要注意的是:

  • 表达式的值为ture,返回结果1,;表达式的值为false,返回结果2。
  • 三元表达式可以嵌套,但尽量不要嵌套,会影响代码的阅读性。

      运算符的优先级(()是最优先的)