10day-javase-基础语法

192 阅读4分钟

一、变量的分类

1、成员变量:

写在类里面的,和主方法是平级
特点
1)、在当前类里面,所有的方法和程序块都能使用

2)、 成员变量可以不赋值,直接使用,jvm会默认给成员变量赋值

image.png

数据类型默认值

数据类型默认值
整数型0
浮点型0.0
字符型
布尔型false
  • 引用数据类型默认值都是null
  • 成员变量不能重名
  • 扩展:string str=null和string str=“null”区别【第一个定义了个字符串,变量为str,内容为空值。第二个定义了个string类型的变量str,并赋值了】
    3)、成员变量不能重名

2、局部变量

写在主方法里面或者代码块里面

特点:
1)、只能在当前方法或者代码块里使用
2)、局部变量必须先赋值再使用,不然会报错
3)、局部变量不能重名

3、成员变量和局部变量的注意事项

  • 局部变量和成员变量可以重名
  • 使用的时候就近原则,从使用位置开始,先小范围查找,逐渐扩大范围

image.png

二、基础数据类型的转换

1、转换类型

  • 隐式转换:类型自动提升,小的数据类型转换为大的数据类型【储存空间】
    提升分为两种

    byte -->short  -->int  -->long->float->double
    
      char -->int  -->long->float->double
    

把字符char赋值 给别的数据类型 ,实际是把对应的数字赋值给别的数据类型

image.png

把数字赋值给char实际是数字对应的字符赋值给char,以下输出字符为u

image.png

  • 强制转换:把一个大的数据类型赋值给小的数据类型
    语法:数据类型 变量名=(数据类型)值/变量名;

容易出现精度损失,比如浮点数转整数会丢掉小数部分

3、注意事项

  • 强制转换有风险,可能存在精度损失。
  • 精度损失:结果值和期待值不一致,小数转换到整数会出现小数全部舍弃,不存在四舍五入
  • image.png

4、常量的默认类型:

  • 整数常量:默认类型是int
    解决方法:
    在数字后面+数据类型首字母,告诉jvm这是相关数据类型,而不是默认值

image.png

  • 浮点常量:默认类型是double
    认为是大转小,通过强制转换赋值
    加float告诉jvm是float值,不是double值

image.png

5、表达式

由常量和变量组成算式

        // 将上面所有变量相加,得到一个表达式
        // 2.当表达式中有变量类型大于 int的时候,运算后的结果以表达式中精度最高的为主

image.png

.当表达式中所有的变量类型小于 int的时候,运算后的结果都会自动提升为int类型

image.png

三、 运算符

1、数字运算

加法(+)减法(-)乘法 (*) 除法(/) 取模(%),取模也就是取余数
+的两种含义:

  • 作为数学运算加法;

image.png

  • 作为拼接符号,在数学的表达式里面,按照计算顺序一旦出现了字符串就不再是数学计算

image.png

2、自增自减运算

1)、 自增自减只能够用于变量【不能用于常量】,每次的改变步长为1.

  • 自增运算++作用于自身
int  i=3;
i++;
++i

注意:
(1)、i++是先使用再自增,表达式里使用的就是自增前的值,不变
(2)、++i是先自增再使用,即变量名在后面,整个表达式的值就是原,使用以后再自增,在原来的值加1

image.png

  • 自增结果赋给其他变量
int i=3;
int j=i++;

3、赋值运算

把运算结果赋值变量本身的一种缩写
符号:=、+=、-=、*=、/=、%=

image.png

4、比较运算

比较运算的结果值是boolean类型的

符号: == 、>、 <、 >=、 <=、 !=

image.png

5逻辑运算

符号描述
&要求两边结果都为true,结果才为true
取反
双与&&和&意思结果一致,不同点在于具有短路效果,执行效率更高
  • |--或:只要有一边为true,结果为true
  • ||--双或:和|意思和结果一致,不同点在于具有短路效果,执行效率更高

【短路效果:当符号左边的比较运算已经能够确定整个表达式的结果,符号右边的表达式不执行】

//例子:
 /* 1.小明参加2个学科的考试 java php
    java考了一百分并且php考了一百分,奖励欧洲十日游
    伪代码描述:java==100并且php==100
*/

image.png

6、三目运算[三元运算]

表达式:x?y:z
x:必须是一个boolean值【boolean变量,比较运算 ,逻辑运算】
y:当x的值为true整个三目运算的结果为y
z:当x的值为false整个三目运算的结果为z

例子: image.png

  • 可以将三目运算的结果赋值给一个变量接收

image.png