Java的基本编程结构(一)

常量

常量:是指在Java程序中固定不变的数据在这里插入图片描述

变量

与常量对应的是变量。Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。

1、常量:用 final 关键字修饰变量
final double PI=3.14

2、class constant
用 static final 关键字修饰变量,可以在本类中的多个方法内被访问
stastic final double PI=3.14

2、public static final 关键字修饰变量
可以在其它类的多个方法内被访问
public stastic final double PI=3.14

数据类型

基本数据类型:包括 整型 (byte short int long)、 浮点型 (单、双)、 字符型 、 布尔型 。
引用数据类型:包括 类 、 数组 、 接口 。

基本数据类型
在这里插入图片描述
定义变量

数据类型 变量名 = 数据值

注:Java中整型的默认类型是int,浮点类型是 double ;long类型:建议数据后加L表示。 float类型:建议数据后加F表示。

整型

(byte short int long)
Java中整型 (integer type)的范围是固定的,与运行的机器无关。所以在不同的平台或者操作系统上有很好的可移植性。相反,C和C++ 数据类型的范围 (比如:intlong ) 取决于运行平台。

浮点型

所有浮点计算遵循 IEEE 754 规范。有3个特殊值:

  • 正无穷 (Double.POSITIVE_INFINITY)
  • 负无穷 (Double.NEGATIVE_INFINITY)
  • NaN (非数) (Double.NaN)

正确的判断方式是:

if (Double.isNaN(x))

注意:
浮点数的舍入错误。

字符型

  • 两个字节,字符型的值可以被表示为 \u0000到\uFFFF 的十六进制值。
  • 注意转义字符。比如:\n 表示换行,Unicode 值为 \u0022

1、Unicode转义字符在程序解析前就被处理了。比如

System.out.println("\u0022+\u0022 ")  产生一个空字符串

2、小心注释里的\u

// \u000A is a newline

会产生语法错误。因为程序被读取的时候,\u000A 已经由一个换行符代替

// c:\users

语法错误。因为\u 后面不是4个十六进制

枚举类型

eum Size { S,M,L,XL } // 定义自己的枚举类
Size s = Size.M;          // 声明变量

数据类型转换

Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

自动转换

取值范围小的类型 自动提升为 取值范围大的类型

比如:int类型和byte类型运算,结果是int类型

强制转换

取值范围大的类型 自动提升为 取值范围小的类型

转换格式

数据类型 变量名 = (数据类型)被转数据值;

注意:

  • 浮点转成整数,直接取消小数点,可能造成数据损失精度。
  • int 强制转成 short 砍掉2个字节,可能造成数据丢失。

ASCII编码表

编码表 : 就是将人类的文字和一个十进制数进行对应起来组成一张表格。

字符数值
048
957
A65
Z90
a97
z122

将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII(American Standard Code for Information Interchange 美国标准信息交换码)

在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到97,再和1求和,结果为98。char类型提升 为了int类型。char类型内存2个字节,int类型内存4个字节。

运算符

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三元运算符

格式:

数据类型 变量名 = 布尔类型表达式?结果1:结果2

布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。 布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。

控制语句

if 语句

// if语句第一种格式: if
if (关系表达式){    
    语句体    
}

// if语句第二种格式: if...else
if(关系表达式) {
     语句体1;    
}else {    
     语句体2;    
}

// if语句第三种格式: if...else if ...else
if (判断条件1) {
    执行语句1;   
} else if (判断条件2) {    
    执行语句2;    }
...
}else if (判断条件n) {
   执行语句n;     
} else {
    执行语句n+1;    
}

Switch语句

switch(表达式) {
   case 常量值1:
        语句体1;
        break;
    case 常量值2:
        语句体2;
        break;   ...  
    default:
        语句体n+1;
        break;
}

在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束。

for循环

for(初始化表达式①; 布尔表达式②; 步进表达式④){ 
    循环体③         
}

while和 do while

初始化表达式①
   while(布尔表达式②){
        循环体③     
        步进表达式④ 
 }
初始化表达式①     
do{
     循环体③     
     步进表达式④ 
 }while(布尔表达式②);
  • for 和 while 的小区别:
    • 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继 续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消 失,能够提高内存的使用效率。
    • 在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。

跳出循环

break: 终止switch或者循环。
continue: 结束本次循环,继续下一次循环。

方法

定义格式

修饰符 返回值类型 方法名(参数列表){
     //代码省略...     
     return 结果; 
}
  • 修饰符: public static 固定写法
  • 返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者
  • 参数列表:方法在运算过程中的未知数据,调用者调用方法时传递
  • return:将方法执行后的结果带给调用者,方法执行到 return,整体方法运行结束

注意事项:

  • 定义位置,类中方法外面。
  • 返回值类型,必须要和 return 语句返回的类型相同,否则编译失败 。

方法调用
在这里插入图片描述

  1. 直接调用:直接写方法名调用
  2. 赋值调用:调用方法,在方法前面定义变量,接收方法返回值
  3. 输出语句调用: 在输出语句中调用方法, System.out.println(方法名())

方法重载
方法重载指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
参数列表:个数不同,数据类型不同,顺序不同。
重载方法调用:JVM通过方法的参数列表,调用不同的方法

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值