一、注释 使用 “//” 或者 “/* xxx */”
二、数据类型 Java是强类型语言,每个变量都需要声明类型。总共有8中基础类型,分别是整形(int、short、long、byte)、浮点类型(float、double)字符类型(char)以及Boolean类型。 1、整形
类型 | 存储需求 | 取值范围 |
---|
int | 4字节 | -2,147,483,684~2,147,483,647(正好超过20亿) | short | 2字节 | -32,768~32,767 | long | 8字节 | -9,223,372,036,854,775,808-9,223,372,036,854,775,807 | byte | 1字节 | -128~127 |
长整形数值后面有"L"或者"l",例如40000000000L; 十六进制数值前面有"0X"或者"0x"(那是个零),例如0XCFAA; 八进制前面有个"0"(零),例如:010代表8; 二进制数前面是"0B"或者"0b"(那是个零),例如,0B1001就是9。 2、浮点类型
类型 | 储存需求 | 取值范围 |
---|
float | 4字节 | 大约±3.402 823 74E + 38F (有效位数为6~7位) | double | 8字节 | 大约 ± 1.797 693 134 862 315 70E + 308(有效位数为15为) |
十六进制表示浮点数值,p表示指数,位数采用十六进制,指数采用十进制。指数的基数是2,不是10。 0.125=2-3可以表示成0X1.0p-2 所有的浮点值计算都遵循IEEE 754规范。三个特殊浮点数值: (1)正无穷大(Doublie.POSITIVE_INFINITY); (2)负无穷大(Double.NEGATIVE_INFINITY); (3)NaN(不是一个数字); 判断非数值使用Double.isNaN(x)。
public class TestFloat {
public static void main(String[] args) {
double x = 0.0/0.0;
if(Double.isNaN(x)) {
System.out.println("x is NaN");
}
}
}
浮点类型计算数值会有误差,原因是浮点数值使用二进制系统表示,无法准确的表示分数1/10。
public class TestFloat {
public static void main(String[] args) {
double x = 2.70/0.30;
System.out.println(x);
}
}
3、char类型 有的Unicode字符占一个char,有的占俩个。char可以使用十六进制来表示,其值范围为 \u0000 到 \Uffff。除此之外,还有转义字符
转义序列 | 名称 | Unicode值 |
---|
\b | 退格 | \u0008 | \t | 制表 | \u0009 | \n | 换行 | \u000a | \r | 回车 | \u000d | " | 双引号 | \u0022 | ’ | 单引号 | \u0027 | \ | 反斜杠 | \u005c |
public static void main(String[] args) {
char shuangyh = '\u0022';
System.out.println("使用Unicode码["+shuangyh+"]");
char dangyh = '\'';
System.out.println("使用转义序列["+dangyh+"]");
}
4、boolean类型 只有俩个值,false和true。不能和整形之间直接转换。
三、定义变量 final 定义常量,只能给复制一次
四、类型转换
五、自增自减
public static void main(String[] args) {
int i=0,j=0;
System.out.println("i++:"+(i++));
i=0;
System.out.println("++i:"+(++i));
System.out.println("j--:"+(j--));
j=0;
System.out.println("--j:"+(--j));
}
七、String 单独写一节
八、输入输出 1、输入 使用对象Scanner标准输入流System.in
Scanner in = new Scanner(System.in);
String name = in.next();
int age = in.nextInt();
double age = in.nextDouble();
密码输入可以使用Console类型,为了安全返回的密码放在一维数组中,而不是字符串,Console每次只能读取一行输入,不能读取一个单词或者一个数值的方法。
import java.io.Console;
public class TestConsole {
public static void main(String[] args) {
Console cons = System.console();
String username = cons.readLine("User Name:");
char []passwd = cons.readPassword("Password:");
System.out.println("**************************");
System.out.println("User Name:"+username);
System.out.println("Passwd:"+passwd.toString());
}
}
2、输出 System.out.println(); 转换符
d | 十进制整数 |
---|
x | 十六进制整数 | o | 八进制整数 | f | 定点浮点数 | e | 指数浮点数 | g | 通用浮点数 | a | 十六进制浮点数 | s | 字符串 | c | 字符 | b | 布尔 | h | 散列码 | tx或Tx | 日期时间 | % | 百分号 | n | 与平台有关的行分隔符 |
print的标志
标志 | 目的 | 举例 |
---|
+ | 打印正数和负数的符号 | +333 | 空格 | 在正数之前添加空格 | / 3333 | 0 | 数字前面补0 | 0333 | - | 左对齐 | 33333 \ | ( | 将负数括在括号里 | (3333.3) | , | 添加分组分隔符 | 3,333 | #(对于f格式) | 包含小数点 | 3,333. | #()对于x或0格式) | 添加前缀0x或者0 | 0xcafe | $ | 给定被格式化的从参数索引 | | < | 格式前面说明的数值,例如%d<x以十进制和十六进制打印同一个数值 | |
System.out.printf("%,.2f",10000.0/3.0);
|