一个简单的java程序,注释,数据类型,变量,运算符,字符串,输入输出,控制流程,大数值,数组
3.1 一个简单的java程序
public class FirstSample{ public static void main(String[] args){ System.out.println("Hello World!"); } }
- java是一个强类型语言。
- java对大小写敏感。
- java定义类名必须以字母开头,后面可以跟字母和数字的任意组合,长度上基本没有限制,不能使用java保留字。
- java类名通常采用首字母大写的驼峰式命名法。
3.2 注释
在java中 有三种注释,单行注释(//),多行注释(/**/),文档注释(/** */)。
3.3 数据类型
在Java中,一共有8中基本数据类型,其中有4中整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型。
3.3.1整型
在java7中数字可以采用_分隔。
在java中整数默认为int,long后面加L;java中默认10进制,十六进制数值前加0x,八进制前加0区分。
3.3.2 浮点类型
java中浮点数默认为double,float后面加F区分。
在不可以有误差的金融计算中,不要使用浮点数,应该使用BigDecimal类。
3.3.3 char类型
单引号''
3.3.4 boolean 类型
boolean(布尔)类型有两个值:false和true,用来判定逻辑条件。
3.4变量
在Java中,每一个变量属于一种类型(type)。
double salary; int vacationDays;
在Java中,声明一条完整的语句必须以分号结束。
变量命名必须以字母或下划线开头,后面可以包含字母下划线和数字。
int x,y;
可以在一行声明多个变量,为了可读性,这种风格不提倡。
3.4.1 变量初始化
int vacationDays; System.out.println(vacationDays);//Error
声明一个变量之后,必须用赋值语句对变量进行显式初始化,否则发生错误。
int vacationDays; vacationDays=12; int salary=11.5;
3.4.2 常量
//常量 final int num =10; //静态常量,类的实例共享常量 static final int numm=11;
3.5 运算符
赋值运算符:
=
算数运算符:
+,-,*,/,%
自增自减运算符:
++,--
关系运算符:
==,!=,<,>,<=,>=
boolean运算符:
&&,||,!
三元运算符:
?:
位运算符:
&("与")、|("或"),^("异或"),~("非"),>>("右移"),<<("左移"),>>>("无符号右移")
数学函数与常量:
在Math类中,包含了各种各样的数学函数。
数值类型之间的转换
自动转换
强制转换:
前面加(要转换的类型)
double x = 9.97;
int nx = (int)x;
括号与运算符级别
使用()可以改变算式运算顺序。
枚举类型
enum Size{ SMALL,MEDIUM,LARGE,EXTRA_LARGE }
3.6字符串
从概念上讲,Java字符串就是Unicode字符序列。Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,很自然的叫做String。
当将一个字符串与一个非字符串的值进行拼接时,后者被转换为字符串。
字符串是不可变的。
String常用的操作:
- 截取子字符substring方法。
- 拼接字符采用+作为连接符。
- 检测字符串相等equals,注意使用==检测的是引用而非值。
- 判断字符串不为null和"",str!=null&&str.length()!=0
- 可以使用StringBuilder类构建字符串,要比直接使用String直观,且有效率。
3.7输入输出
控制台读取输入
Scanner in = new Scanner(System.in);
控制台输出
System.out.println();
读取文件
Scanner in = new Scanner(Paths.get("myfile.txt"));
写入文件
PrintWriter out = new PrintWriter("myfile.txt");
3.8控制流程
3.8.1块作用域
{}
3.8.1 条件语句
if(condition)statement
if(...){
}else if(...){
}else{
}
3.8.2 循环
while(condition)statement
while(...){
}
do{
}while(...);
3.8.3 确定循环
for(int i=1;i<=10;i++){
System.out.println(i);
}
3.8.4 多重选择:switch语句
switch(choice){
case 1:
...
break;
case 2:
...
break;
default://没有选择时执行
...
break;
}
3.8.4 中断控制流程语句
break; break label;
read_data:
for(int i=0;i<10;i++){
if(i==5){
break read_data;
}
}
3.9 大数值
BigInteger 和 BigDecimal。
3.10数组
数组元素类型紧跟[]。
int[] a = new int[100]; String[] strs = new String[5];
foreach:
for(variable:collection)statement
数组初始化以及匿名数组:
int[] samllPrimes = {2,35}; //初始化
new int[]{2,35};//匿名数组
复制数组
Arrays.copyOf方法
命令行参数:
每一个Java应用程序都有一个带String arg[]参数的main方法,这表明main方法接受一个字符串数组,也就是命令行参数。
数组排序
Arrays.sort方法
多维数组
[] [] //[]可以有多个、