程序设计结构
Java程序设计结构
- 数据类型
- 变量与常量
- 运算符
- 字符串
- 输入输出
- 控制流
- 大数
- 数组
保留字与关键字:
关键字:目前已经有特殊作用的单词字符,例如static,class等
保留字:包括关键字,同时还有部分目前未被使用,但未来可能会被使用的单词字符
数据类型:
八种基本类型,包括
四种整型:int(四字节,正负21e),short(二字节,正负三万二),
long(八字节,正负900ee),byte(一字节,-128—127)
两种浮点型:float(四字节),double(八字节)
一种字符型:char(二字节),用于表示Unicode编码的代码单元
一种用于表真值:boolean
浮点数遵循IEEE 754规范:
NAN为非数字,例如0/0会得到Double.NAN;
无穷大(正负)是特殊浮点Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY
变量与常量:
变量:需要显式初始化变量
boolean flag = false;
常量:使用关键字 static final 设置常量,
public static final int age = 18;
枚举类型:在有限集合内取值可以自定义枚举类型
enum Size { SMALL,MEDIUM,LARGE,EXTRA_LARGE };
Size a = SIze.SMALL;
运算符:
算数运算符(加减乘除余):+ - * / %
int类型会向下取整
数学函数:
Math.sqrt(int a):对a求平方根
Math.abs(int a) :对a取绝对值
Math.round(double a):对a四舍五入转为整型int
数据类型转换:
实线为无信息丢失的转换,虚线为存在精度丢失的转换
关系运算符:==,!=,||,&&,<,>,<=,>=
位运算符(与,或,非,反,左移,右移):&(a),|(a),^(a),~(a),<<,>>
字符串:
子串:(subString方法)
String str = "Hello";
String s = str.subString(0,3); //s = "Hel",即0到2
相等:(equals方法)
if(str.equals(s)){
return false;
}
空串与Null串:
if(str.length() == 0) //判断是否为空串:“”
if(str == null) //判断是否为null串
构建字符串:(Stringbuilder类)
//节省空间和时间的字节构建类型,直接append添加,toString成符
StringBuilder bs = new StringBuilder();
bs.append("a");
bs.append("b");
String s = bs.toString();
输入和输出:
Util.Scanner类:
Scanner in = new Scanner(System.in);
String name = in.nextLine();
int age = in.nextInt();
格式化输出:
double x = 10000 / 3.0;
System.out.printf("%8.2f",x); //返回八个字符,小数点算一个,且返回小数点后两位,不够八位在前补充空格
//x = 3333.33
转换符:
d:十进制 x:十六进制 o:八进制 f:定点浮点数 e:指数浮点数 ….
控制流:
块作用域:{…}
块内变量不会带到块外使用,块外已定义变量不允许块内重复定义
判断:if,if-else,if-else if-else
循环:for, while, do-while
多重选择:switch-case-default
跳出:return,break,continue
大数:
java.Math包下的:BigInteger和Bigdecimal(比int和double都更加精确)
BigDecimal a = new BigDecimal("0.1"); //String转Big,精确
BigDecimal a = new BigDecimal(0.1); //Double转Big,不精确,可能变成0.0999999998之类的
数组:
声明与初始化:
int[] a; //声明
int[] b = new int[100]; //初始化
a = {1,2,3,4,5} //赋值
循环:for,for-each
数组拷贝:Arrays.copyOf() :生成新数组的深拷贝
int[] c = Arrays.copyOf(a,a.length); //第一个参数为拷贝对象,第二个参数为创建数组c的长度
数组排序:Arrays.sort():快速排序
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IT蛋的个人博客!