注释
注释是在指定位置添加的说明
单行注释://
多行注释:/* */
文档注释:/** */
关键字
特点:关键字的字母全部小写
数据类型
Java类型中有8种基本类型,其中4种整型,2种浮点类型,1种表示Unicode编码的字符类型和一种表示真值的boolean类型。3种引用类型,类class,接口interface,数组[]。
- 整型
类型 | 存储需求 | 取值范围 |
int | 4字节 | -2147483648~2147483647 |
short | 2字节 | -32768~32767 |
long | 8字节 | -9223372036854775808~9223372036854775807 |
byte | 1字节 | -128~127 |
- 浮点类型
类型 | 存储需求 | 取值范围 |
float | 4字节 | ±3.40282347E+38F(有效位数6~7位) |
double | 8字节 | ±1.79769313486231570E+308(有效位数15位) |
注意:如果在数值计算中不允许有任何舍入误差,就应该使用BigDecimal类。
- 字符类型
char类型的值可以表示为十六进制值,其范围从\u0000到\ufffff。
char类型的字面量值要用单引号括起来。
- boolean类型
boolean类型只有两个值:true和false,用来判定逻辑条件。
注意:整型值和布尔值之间不能进行相互转换。
数值类型转换
byte-->short/char-->int-->long-->float-->double
如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。
否则,如果两个操作数中有一个是float类型,另一个操作数就会转换为float类型。
否则,如果两个操作数中有一个是long类型,另一个操作数就会转换为long类型。
否则,两个操作数就会转换为int类型。
强制类型转换
double类型转换为int类型:
double x=9.99;
int nx=(int)x;//9
如果想对浮点数进行舍入时,int nx=(int)Math.round(x);//10
运算符
运算符 | 结合性 |
[].()(方法调用) | 从左向右 |
!~ ++ -- +(一元运算)—(一元运算)() (强制类型转换) new | 从右向左 |
* / % | 从左向右 |
+ - | 从左向右 |
<< >> >>> | 从左向右 |
< <= > >= insanceof | 从左向右 |
== != | 从左向右 |
& | ^从左向右 |
^ (结果不同则为true,结果相同则为false) | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
? : | 从右向左 |
= += -= *= /= &= |= ^= <<= >>= >>>= | 从右向左 |
三元运算符
关系表达式?表达式:表达式
变量
Java中变量的声明尽可能地靠近变量第一次使用的地方。
格式:数据类型 变量名=变量值;
int a;
a=10; 或者 int a=10;
常量
常量名使用大写。
空常量:null
关键字 final表示这个变量只能赋值一次,不能改变。
final int A=10;
Java中,经常希望某个常量可以在一个类中的多个方法中使用,这些常量称为类常量。可以使用static final设置类常量。
public static final double AAAA=20.2;
标识符
由数字,字母,下划线和美元符组成;不能以数字开头;不能是关键字;区分大小。
小驼峰命名法:方法,变量。
一个单词时首字母小写,多个单词时首字母小写其他单词首字母大写。
大驼峰命名法:类
一个单词时首字母大写,多个单词时每个单词首字母大写。
字符串
String是预定义类,用双引号括起来。
String类的substring方法可以从一个较大的字符串中提取一个字串。
String a="asdfgh";
String z=a.substring(0,3);//asd
substring的工作方式:容易计算子串的长度。
String类没有提供用于修改字符串的方法。可以先提取需要的字符串,然后在拼接上替换的字符串。
检测字符串是否相等:equals方法
s.equals(t) 字符串s与字符串t相等返回true,否则false。s和t可以是字符串变量也可以是字符串字面量。
检测字符串是否相等,不区分大小写:equalslgnoreCase方法
String可以存放一个特殊的值null。
length方法将返回采用UTF-16编码表示的给定字符串所需要的代码单元数量。
String aa="asdfghjkl";
int q=aa.length();
要想得到实际的长度,即码点数量
int ww=aa.codePoint(0,aa.length());
调用aa.charAt(n)将返回位置n的代码单元,n介于0~aa.length()-1之间
char s=aa.charAt(1);//s
要想得到i个码点,应该使用下列语句
int t=aa.offsetByCodePoints(0,i);
int f=aa.codePointAt(t);
输入输出
创建对象:Scanner in=new Scanner(System.in);
接收数据:int i=in.nextInt();
将输入一行包含空格,使用nextLine方法
读取一个单词,以空白符作为分隔符用next方法
读取一个整数,调用nextInt方法
读取一个浮点数,调用nextDouble方法
Scanner类定义在java.util包中。import java.util.*;