第二章 基本程序设计
2.1 关键字和标识符
- 关键字
在高级编程语言里被赋予特殊含义的单词 - 标识符
标识符是为了标识程序中诸如类、方法和变量的元素而采用的命名。
标识符规则:1.由字母、数字、下划线(_)和美元符号($)构成的字符序列。
2.标识符必须以字母、下划线或美元符号开头,不能以数字开头。
3.标识符不能是保留字。
4.标识符不能是true、false、null。
5.标识符可以为任意长度。
2.2 注释和常量
- 注释
注释说明的文本,不属于代码,所以不会参与编译 更不会在字节码中出现。
单行注释:// 注释内容
多行注释: /* 注释内容 /
文档注释: /* 注释内容 */
注释可以相互嵌套,除了多行嵌套多行。
注释可以用来调试代码 来缩小错误范围 - 常量
常量是指在程序中直接出现的数据->字面量 - 进制
2.3 变量和数据类型
- 变量
变量是一个内存中的临时存储空间,一个变量在可以使用前必须被声明和初始化。变量的分配是由计算机随机分配的,物理地址不变。为了方便找到变量,对该变量空间取名->变量名,变量之间用逗号隔开。
变量空间里面只能存储同一类型的数据 - 数据类型
2.4输入和输出
- Scanner对象
Scanner scanner=new Scanner(System.in);
scanner.nextLine();
scanner.next();
scanner.nextInt();
scanner.nextDouble();
scanner.nextByte();
scanner.nextFloat();
scanner.nextLong(); - System.out.println();
2.5 数据类型转换
- 数据类型转换
强制类型转换 大->小
2.6 算法运算符
-
加 +
-
减 -
-
乘 *
-
除 /
-
取余 %
-
自加 ++
-
自减 –
-
示例:显示当前时间
开发一个以GMT(格林威治标准时间)来显示当前时间的程序,以小时:分钟:秒的格式来显示,例如11:12:09。public class ShowCurrentTime{ public static void main(String[] args){ //获取从1970 1-1 00:00:00到至今的毫秒数 long millis=System.currentTimeMillis(); long seconds=millis/1000; long minutes=seconds/60; long hours=minutes/60; //如何从经过的毫秒值里获取当前小时 总小时%24 System.out.print(hours%24+8+":");//东八区+8 //...当前分钟 System.out.print("minutes%60+":"); //...当前秒 System.out.println(seconds%60); } }
本章小结
1、标识符是程序中用于命名的,诸如变量、常量、方法、类、包之类元素的名称。
2、标识符是有字母、下划线_、数字和美元符号($)构成的字符序列。标识符必须以字母或以下划线开头,不能以数字开头。标识符不能是保留字,标识符长度任意。
3、变量用于存储程序中的数据。声明变量就是告诉编译器变量可以存储何种数据类型。
4、有两种类型的import语句:明确导入和通配符导入。明确导入是在import语句中指定导入单个类;通配符导入将包中所有的类导入。
5、在Java中,等号被用作赋值操作符。
6、方法中声明的变量必须在使用前被赋值。
7、命名常量(常量)表示从不改变的永久数据。
8、用关键字final声明命名常量。
9、Java提供的四种整数类型(byte、short、int、long)表示四种不同长度范围的整数。
10、Java提供两种浮点类型(float、double)表示两种不同精度的浮点数。
11、Java提供操作符完成数值运算:加号+、减号-、乘号*、除号/和求余符号%。
12、整数运算(/)得到的结果是一个整数。
13、Java表达式中的数值操作符和算数表大会中的使用方法是完全一致的。
14、Java提供扩展赋值操作符:+=(加法赋值)、-=(减法赋值)、*=(乘号赋值)、/=(除法赋值)以及%=(求余赋值)。
15、自增操作符(++)和自减操作符(–)分别对变量加1或减1。
16、当计算的表达式中有不同类型的值,Java会自动地将操作数转换为恰当的类型。
17、可以使用(type)value这样的表示法显示地将数值从一个类型转换到另一个类型。
18、将一个较小范围类型的变量转换为较大范围的变量称为拓宽类型。
19、讲一个较大范围类型的变量转换为较小范围类型的变量称为缩窄类型。
20、拓宽类型不需要显示转换,可以自动完成。缩窄类型必须显示完成。
21、在计算机科学中1970年1月1日午夜零点称为UNIX时间戮。
补充
对于全部高级编程语言而言,都有如下基本程序结构:关键字、标识符、注释、常量、变量、运算符、语句、函数、数组
代码
Text2:
public static void main(String[] args){
//提示用户输入十进制数作为总钱数 例11.56
Scanner scanner=new Scanner();
System.out.println("请输入总钱数:");
//转换为1分币个数
int money=(int)(scanner.nextDouble()*100);
//获取美元数
int dollar=money/100;//1156
money=money%100;//剩余美分数 56
//获取2角5分
int quarter=money/25;//2
money=money%25;//6
//获取1角
int dime=money/10;//0
money=money%10;//6
//获取5分
int nikel=money/5;//1
int penny=money%5;//1
System.out.println("dollar="+dollar);
System.out.println("quarter="+quarter);
System.out.println("dime="+dime);
System.out.println("nickel="+nickel);
System.out.println("penny="+penny);
}
}
2.3:
代码:
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
//1读取数
System.out.print("Enter a number between 0~1000:");
int number=scanner.nextInt();
//2将数字分解
int a=number%10;
number/=10;
int b=number%10;
number/=10;
int c=number%10;
//3将三个数字相加并输出
System.out.println("The sum of t he digit is "+(a+b+c));
}
}
2.5
代码:
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter the time offset to GMT:");
int offset=scannee.nextInt();
long millis=System.surrentTimeMillis();
long seconds=millis/1000;
long minutes=seconds/60;
long hours=minutes/60;
System.out.print("The current time is "+(hours%24+offset)+":"+minutes%60+":"+seconds%60);
}
2.11
代码:
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter three points for a triangle:");
double x1=scanner.nextDouble();
double y1=scanner.nextDouble();
double x2=scanner.nextDouble();
double y2=scanner.nextDouble();
double x3=scanner.nextDouble();
double y3=scanner.nextDouble();
double a=Math.sqrt (Math.pow(x2-x1,2)+Math.pow(y2-y1,2));
double b=Math.sqrt (Math.pow(x1-x3,2)+Math.pow(y1-y3,2));
double c=Math.sqrt (Math.pow(x2-x3,2)+Math.pow(y2-y3,2));
double s=(sidea+sideb+sidec)/2;
double area=Math.sqrt(s*(s-sidea)*(s-sideb)*(s-sidec));
System.out.print(area);