第三章 Java的基本程序设计结构

声明:本文集内容如有雷同,纯属巧合。

一个简单的应用程序

  • Java应用程序的所有内容必须放置在类中。
  • 点号(.)用于调用方法,Java的通用语法是 object.method(parameters) 这等价于函数调用。

数据类型

  • 整型:int(4个字节)short(2个字节)long(8个字节)byte(一个字节) ;一个字节等于8位;长整型数值有一个后缀L,十六进制数值有一个前缀0X,八进制有一个前缀0;从JDK7开始,前缀0B可以写二进制数,还可以为数字字面量加下划线,如1_000_000表示一百万,只是为了易读,Java编译器会去除这些下划线。
  • 浮点型:float(4个字节),double(8个字节);float类型的值有一个后缀F,double类型的值可以有一个后缀D。
  • 所有的浮点数值计算都遵循IEEE 754规范。有三个特殊的浮点数值:正无穷大,负无穷大,NaN(不是一个数字)。可以使用if(Double.isNaN(x))来检查一个数是不是不是一个数。
  • char类型:如今,有些Unicode字符可以用一个char值描述,有的需要两个;char类型的字面量值要用单引号括起来。
转义序列:\u后面加四位数字表示不同的Unicode值;\b退格;\t制表;\n换行;\r回车;\”双引号;\'单引号;\\反斜杠 
  • boolean类型:true和false,用来判定逻辑条件;整型值和布尔值之间不能相互转换。

变量

  • 变量 :每个变量都有一个类型type。
  • 变量初始化:声明一个变量之后,必须用赋值语句对变量进行显式初始化;在Java中可以将声明放在代码中的任何地方。
  • 常量:final指示常量,表示这个变量只能赋值一次;可以用关键字static final设置一个类常量。

运算符

  • 运算符:整数被0除将会产生一个异常,而浮点数被0除会得到无穷大或NaN结果;
  • Math类的导入:import static java.lang.Math.*;
  • 类型转换与强制类型转换。
  • x+=4等价于 x = x+4;++,--,==,!=;&&第一个表达式的真值为false,那么结果不可能为true;||如果第一个表达式为true,不会计算第二个;?:。
  • 位运算符。
  • 运算符优先级从右到左的有:! ~ ++ -- + - () new ?: = += -= *= /= %= &= |= ^= <<= >>= >>>=其他的全都是从左到右。
  • 枚举类型包括有限个命名的值。

字符串

  • 从概念上将,字符串就是Unicode字符序列
  • String类的substring方法可以从一个较大的字符串中提取出一个子串
  • Java允许用+拼接字符串
  • 如果需要把多个字符串放在一起,用一个定界符分隔,可以使用静态join方法:String all = String.join("
    /","A","B","C");
  • String类没有提供修改字符串的方法,如果需要可以用substring方法提取原字符串长度再加上+所需要追加的字符串。
  • 可以使用equals方法检测两个字符串是否相等:s.equals(t);如果字符串s与t相等,返回true
  • 比较相等而不区分大小写,可以使用equalsIgnoreCase()方法
  • 检查一个字符串既不是null也不为空串:if(str != null && str.length() !=0)
  • 使用StringBuilder:StringBuilder sb = new StringBuilder();sb.append(ch);
  • 调用toString()方法得到一个String对象:String s = sb.toString();

输入输出

  • 读取输入:Scanner in = new Scanner(System.in);String s = in.nextLine();
  • 格式化输出:double x = 1000.0/3.0;System.out.prinf("%8.2f",x);
  • 用于格式化输出的转换符:d 十进制整数,x 十六进制整数,0 八进制整数,f 定点浮点数,g 通用浮点数,s 字符串,c 字符,b 布尔,% 百分号,n 行分隔符。(前面加上%使用)
  • 可以使用静态的String.format()方法创建一个格式化的字符串,而不打印输出:String s = String.format("Hello,%s,you will be %d",name,age);
  • 对文件进行读取:Scanner s = new Scanner(Paths.get("file.txt"),"UTF-8");

控制流程

  • 块(即复合语句)是指由一对大括号括起来的若干条简单的Java语句。块确定了变量的作用域。不能在嵌套的两个块中声明同名的变量。
  • 条件语句;if ,if else ,if elseif else。
  • 循环语句:while,do while,for
  • 多重选择:switch语句 case
  • 中断控制流程:break,continue,return

大数值

  • 使用静态的valueOf方法可以将普通的数值转换为大数值 BigInteger b = BigInteger.valueOf(10);
  • 处理大数值:BigInteger c = b.add(b); //b+b BigInteger d = c.multiply(b.add(BigInteger.valueOf(2)));//d=c*(b+2);

数组

  • int[] a;
  • 创建一个数值数组时,所有元素都初始化为0;boolean数组时所有元素初始化为false;所有对象数组初始化为null
  • 增强for循环 foreach语句:for(variable : collection) statement
  • 数组拷贝:Arrays.copyOf();
  • 数组排序:Arrays.sort();
  • 多维数组,不规则数组

你可能感兴趣的:(第三章 Java的基本程序设计结构)