基本程序设计结构

一、类型转换

  1. 数值类型之间的转换

 

  1. 强制类型转换

a)       将一个数值强制转换成另一种类型时,如果超出目标类型的便是范围,结果就会截断成一个完全不同的值。(如:(byte)300的实际值为44)

b)       将boolean类型的值转换成其他类型时,可使用三目表达式(如:b?1:0 将boolean转换成int型)

二、运算符

  1. Java没有逗号运算符,但可以在for语句的第1部分和第3部分使用逗号分隔表达式列表
  2. 运算符优先级

 

三、枚举类型

四、字符串

       1. String类被称为不可变字符串,不可修改一个字符串中的任何一个字符,但可以让其引用另外一个字符串。不可变字符串优点:编译器可以让字符串共享,共享所带来的高效率远远胜于提取、拼接字符串所带来的低效率。

       2. 当一个字符串与一个非字符串进行拼接时,后者被转换成字符串(任何一个Java对象都可以转换成字符串)

       3. 常用String静态方法

如果需要把多个字符串放在一起,用一个定界符分割,可以使用静态join方法。

equals方法检测两个字符串是否相等,如需不区分大小写,可以使用equalsIgnoreCase。

trim方法返回一个删除了源字符串头部和尾部的空格的新字符串。

format方法创建一个格式化的字符串而不打印输出

       4. StringBuffer:效率较低,但允许采用多线程的方式执行添加或删除字符的操作,而jdk5.0引入的StringBuilder是单线程的。这两个类的API是相同的。

五、 输入输出

       1.控制台读取输入,首先需要构造一个Scanner对象,并与标准输入流(即System.in)关联(即 Scanner in = new Scanner(System.in);)。Scanner中,nextLine()读取一行(包含空格,以回车为分隔符);next()读取一个单词(以空格为分隔符);nextInt()读取一个整数,nextDouble()读取一个浮点数…

       2. 格式化输出(System.out.printf())

用于printf的转换符、标志(控制格式化输出)、日期与时间的转换符(详见博文)。

       3. 文件输入输出

要想对文件进行读取,需要一个用File对象构造的Scanner对象(即Scanner in = new Scanner(Paths.get(“myfile.txt”),“utf-8”))

要想写入文件,就需要构造一个PrintWriter对象。(即PrintWriter out = new PrintWriter(“myfile.txt”,”utf-8”),当文件不存在时会自动创建文件)

六、控制流程

       1. 块(即复合语句)是由一堆大括号括起来的若干条简单的Java语句。不能再嵌套的两个块中声明同名的变量。

       2. 中断控制流程语句(break、continue)

在一条语句或语句块前加上标签及冒号(如 hello:),使得可以在循环语句中使用break 标签名或continue 标签名(如break hello; continue hello;),能跳出或跳到标签所代表的语句块。

七、大数值

       1. BigInteger类实现了任意精度的证书运算,BigDecimal实现了任意精度的浮点数运算,但不可以使用算术运算符(+-*/%),而是使用相应的方法

八、数组

       1. 数字数组所有元素会被初始化为0,boolean数组是false,对象数组的元素则是null。

       2. 常用Arrays类静态方法

打印数组可使用Arrays.toString(a);

Arrays.copyOf()将一个数组的所有值拷贝到一个指定长度的新数组中,如果新数组长度小于源数组,则只拷贝最前面的数据元素,否则则对多余的元素自动赋值,规则参考上一条。

Arrays.sort()对数值型数组进行排序

Arrays.binarySearch()采用二分搜索算法查找值

Arrays.fill()将数组的所有数据元素设置为同一个参数

Arrays.equal()如果两个数组的大小及其下标对应的元素相等,则返回true

猜你喜欢

转载自www.cnblogs.com/kuexun/p/9971382.html