第三章Java的基本程序结构(1)

1.注释
类注释:类注释必须放在import语句之后,类定义之前。

/**
 *这是一个简单的文档注释
 *@version (指定类的版本) 1.2
 *@author (标识一个类的作者) xcf
 */

方法注释:每一个方法注释必须放在方法之前;标记:@param 参数、@return 返回值…
字段注释:只需要对公共字段(通常指的是静态常量)建立文档。
通用注释:
@author name 这个标记产生一个作者条目、
@version text 这个标记产生一个版本条目
注释抽取:使用javac命令

2.数据类型

2.1整型

2.1.1 int类型:占4个字节,32位, 取值范围 -214783648 ~ 214783647 (刚好20亿)
2.1.2 short类型:占2个字节,16位, 取值范围 -32768 ~ 32766
2.1.3 long类型:占8个字节,64位, 取值范围 -9223372036854775808 ~ 9223372036854775807
2.1.4 byte类型:占1个字节,8位, 取值范围 -128 ~ 127
注意:长整形数值有一个后缀L或l(如12345678910L)
十六进制数值的前缀0x或者0X(如0xCFFE)
八进制数值的前缀0,如010对应十进制的8。这种表示法很容易混淆,不建议使用八进制常数
二进制数的前缀0b或0B,如0b1001对应十进制的9。

2.2浮点类型

2.2.1 float类型:占4个字节,取值范围大约是 ±3.402 8223 47E+38F(有效位数为6~7位)
2.2.2 double:占8个字节,取值范围大约是:±1.797 693 134 862 315 70E+308(有效位数为15位)
注意:float类型的数值后缀是F或f(如1.14f),没有后缀的浮点数值默认为double类型。

2.2.2char类型

char类型表示单个字符,char类型的字面量值要用单引号括起来,如’A’是编码值65的字符常量。与"A"不同,
"A"是包含一个字符A的字符串。
特殊字符的转义序列:

转义序列名称Unicode值
\b退格\u0008
\t制表\u0009
\n换行\u000a
\r回车\u000d
\"双引号\u0022
\’单引号\u0027
\\反斜杠\u005c

2.2.3Unicode和char类型

码点:是指与一个编码表中某个字符对应的代码值。
基本多语言平面:Unicode的码点分成17个代码平面,第一个代码平面,包括码点U+0000到U+FFFF。
代码单元:UTF-16编码采用不同长度的编码表示你所有Unicode码点。在基本多语言平面中,每个字符用16位表示
char类型描述了UTF-16的一个代码单元。强烈建议不要再程序中使用char类型。

2.2.4boolean类型

boolean(布尔)类型的两个值:false和true,用来判断逻辑条件。整型值和布尔值之间不能进行相互转换。
2.3变量与常量

2.3.1声明变量:变量类型 变量名;
命名规范:以字母开头并由字母和数字构成,见名知意,不能有空格,大小写敏感。
2.3.2变量初始化:
如int i;
i = 12;
或int i = 12;
注意:变量的声明尽可能的靠近变量的第一次使用的地方。
从java10开始,对于局部变量,如果可以从变量的初始值推断出它的类型,就不再需要声明类型。只需要var
如:
var vactionDays = 12;//vactionDays 是 int类型
var greeting = “Hello”;//greeting 是字符串类型
2.3.3常量
用关键字fina指示常量。被final指示的变量只能被赋值一次,被赋值后不能改变。常量名使用全大写。
如果一个类的某个常量要在多个方法使用,这些常量称为类常量,用关键字static final设置一个类常量,
注意:类常量的定义位于main方法的外部。而且,如果常量被声明为public,那么其他类的方法也可以使用。
3.4枚举

2.4运算符

2.4.1 算数运算符
+、-、、/表示加、减、乘、除运算。 %运算是取余数运算,如15/2=7,15%2=1,15.0/2=7.5。
注意:整数被0除将会产生一个异常(java.lang.ArithmeticException: / by zero),
浮点数被0除将会得到无穷大或NaN结果。
2.4.2数学函数和常量
方法:
Math.sqrt
Math.pow

三角函数:
Math.sin
Math.cos

反函数:
Math.log
Math.exp

常量:
Math.PI
Math.E
提示:可以直接静态导入Math.
,就不用Math.
import static java.lang.Math.*;
如:

// 一个简单的输出PI的平方根
System.out.println("The square root of \u03C0 is" + sqrt(PI));

2.4.3数值类型之间的转换
在这里插入图片描述
实线表示无信息丢失的转换,虚线为有精度损失的转换。
两个不同类型值进行二元运算时,先将两个操作数转为同一种类型在进行计算,结果是两个操作数精度最高的数值类型。

2.4.4强制性类型转换
高精度转低精度时,需要强制转换,如:

double x = 9.99;
int nx = (int) x;//nx的值现在为9,通过截断小数部分将浮点值转为整数。
int rx = (int)Math.round(x);//rx的值为10,当调用round的时候,返回long类型,存在信息丢失的可能,仍然需要强制转换(int)。

2.4.5结合赋值和运算符
x += 1;等价于x = x + 1; 其他:+=、-=、*=、/=、%=
2.4.6自增与自减运算符
前缀与后缀的区别:

int m = 7;
int n =7;
int a = 2 * ++m;//现在a的值为16,m为8,先自增然后返回自增后的m值进行运算。
int b = 2 * n++;//现在b的值为14,n为8,先返回m值进行运算然后在自增。

2.4.7关系和boolean运算符
关系运算符:==、!=、<、>、<=、>=
逻辑运算符:&&、||、
三元操作符:? :
2.4.8位运算符
&(与运算)、|(或运算)、^(异或运算)、~(非运算)
2.4.9括号与运算符级别
在这里插入图片描述
2.5字符串

2.5.1子串
从较大的字符串提取出一个子串,如:

Stirng greeting = "Hello";
String s = greeting.substring(0,3);//从gressting中复制从0开始到3的字符到s字符串中。

2.5.2拼接
两个字符串用+号拼接,如:

Stirng a = "Hello";
String b = "World";
Stirng c = a + b;//c为"HelloWorld"

2.5.3不可变字符串
不可修改字符串某个字符 但是可以引用,不是很懂后面再说。
2.5.4检测字符串是否相等
equals方法,表达式: s.equals(t)
相同为true,不同为false。可以使字符串变量也可以是字符串字面量。
不区分大小写检测:equalsnoCase方法
注意:不要用 == 判断是否相等,这个运算符只能判断两个字符串是否存放在同一个位置,而不是内容。
2.5.5空串和Null串
空串""是长度为0和内容为空的Java对象。
2.5.6码点与代码单元
常用方法:
int length() 将返回采用UTF-16编码表示给定字符串所需要的代码单元数量。
char charAt(int index ) 返回指定索引处的 char 值
codePointAt(index) 返回第i个码点。
int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。
boolean isEmpty() 判断字符串是否为空。

看String类的api…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值