第2章 简单的Java程序
Java语言程序设计(第三版)第二章课后习题答案(仅供参考)

Java语⾔程序设计(第三版)第⼆章课后习题答案(仅供参考)2.1 注意不同类型转换1import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6double f = sc.nextDouble();7double t = (5.0/9)*(f-32); // 注意 (5/9) 结果为整形要写成 (5.0/9)8 System.out.println(t)9 }2.21import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6 System.out.println("请输⼊圆柱体半径和⾼:");7double r = sc.nextDouble();8double h = sc.nextDouble();9double v = Math.PI * r * r * h; //圆周率⽅法 Math.PI10 System.out.println(v);11 }2.31import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6 System.out.println("请输⼊体重和⾝⾼:");7double g = sc.nextDouble();8double h = sc.nextDouble();9double BMI = g / (h * h);10 System.out.println(BMI);11 }2.4 使⽤循环每次对个位取数相加取数后除以10 使前⼀位变为个位继续判断⼩于等于0时停⽌1import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5int sum = 0;6 Scanner sc = new Scanner(System.in);7int num1 = sc.nextInt();8while (num1 > 0) // 与 0 ⽐较判断是否需要取数9 {10 sum += (num1%10); // 通过取余获得个位数字11 num1 /= 10; // 每次取余后除以1012 }13 System.out.println(sum);14 }2.5 注意 System.currentTimeMillis()⽅法返回long形需要转换为int形1public class Ch02 {2public static void main(String[] args) {3// 通过 System.currentTimeMillis() ⽅法获得从1970年1⽉1⽇ 00:00:00 到现在的毫秒数4// 28800000 是格林时间与我们时区的时间差值5// 对 86400000 取余是把满⼀天的时间都去掉获取多出来的不⾜⼀天的时间6int t = (int)((System.currentTimeMillis()+28800000)%86400000);7int hour = t/3600000; // 除 3600000 获取满⼩时的个数即求⼩时为⼏点8int mine = t%3600000/60000; // 计算不⾜⼀⼩时的时间⾥有多少分钟9int s = t%3600000%60000/1000; // 计算不⾜⼀分钟的时间⾥有多少秒不要忘记除以 1000 (因为单位为毫秒)10 System.out.println("当前时间: "+hour+":"+mine+":"+s+" GMT");11 }2.6 a 不能为 0 b2 - 4 * a * c 不能为 01import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5double sum,a,b,c,t;6 Scanner sc = new Scanner(System.in);7while (true) {8 a = sc.nextDouble();9 b = sc.nextDouble();10 c = sc.nextDouble();11 t = b*b-4*a*c;12if (a == 0) {13 System.out.println("a 不能为 0,请重新测试 ^_^");14 } else if (t < 0) {15 System.out.println("b*b-4*a*c不能为0,请重新测试");16 }17else18 {19break;20 }21 }22 sum = ((-b+Math.sqrt(t)/(2*a))); //( 2*a ) 注意加括号23 System.out.println(sum);2.7 注意计算公式先后顺序多使⽤⼩括号1import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6double yrate = sc.nextDouble();7double amount = sc.nextDouble();8double year = sc.nextDouble();9double month = (amount * (yrate/12))/(1-(1/Math.pow(1+yrate/12,year*12)));10double sumamount = month*12*year;11 System.out.println("⽉⽀付⾦额:"+month+"\n总偿还⾦额:"+sumamount);12 }。
Java游戏编程原理与实践教程课件 第2章--陈锐 夏敏捷主编

2.3 Swing组件 2.3.5 列表(JList) JList组件用于定义列表,允许用户选择一个或多个项目。与JTextArea类 似,JList本身不支持滚动功能,如果要显示超出显示范围的项目,可以 将JList对象放置到滚动窗格JScrollPane 对象中,便可以为列表对象实现 滚动操作。 2.3.6 文本框(JTextField和JPasswordField) JTextField组件用于创建文本框。文本框是用来接受用的单行文本信息输 入的区域。通常文本框用于接受用户信息或其他文本信息的输入。当用 户输入文本信息后,如果为JTextField对象添加事件处理,按回车键会激 发一定的动作。
2.3 Swing组件 2.3.7 面板(JPanel) JPanel组件定义的面板实际上是一种容器组件,用来容纳各种其他轻量 级的组件。此外,用户还可以用这种面板容器绘制图形。 【例2-4】利用JPanel设计一个程序。界面如图2-4所示。
2.3 Swing组件 2.3.8 表格(JTable) 表格是Swing新增加的组件,主要功能是把数据以二维表格的形式显示出 来。 2.3.9 框架(JFrame) 框架是Swing GUI应用程序的主窗口,窗口有边界、标题、关闭按钮等。 JFrame类是java.awt包中Frame类的子类,其及子类创建的对象是窗体, 对象(窗体)是重量容器;不能把组件直接添加到swing窗体中,其含有 内容面板容器,应该把组件添加到内容面板中;不能为swing窗体设置布 局,而应当为swing窗体的内容面板设置布局。 Swing窗体通过getContentPane()方法,获得JFrame的内容面板,再对其 加入组件: JFrame frame=new JFrame(); Cotainer ct= frame.getContentPane();//获取内容面板容器 ct.add(childComponent); //内容面板容器加入组件
第2章 Java编程基础.ppt

14、下列选项中,按照箭头方向,不可以进行自
动类型转换的是( )
A、byte → int
B、int → long
C、double →long D、short → int
18.在程序中为了标明不同的进制,数据都有特定
的标识,八进制必须以_____开头;十六进制必须
以_________或_________开头。
19.Java语言中,double类型所占存储空间为 _________个字节。 20.简述什么是变量的作用域
21.请列举Java语言中的八种基本数据类型,并说 明每种数据类型所占用的空间大小
D、goto
8、下列转义字符中,不合法的是( )
A、'\n‘
B、'\x'
C、'\r'
D、'\t'
9、下列选项中,哪一个是十进制数6的二进制值 ()
A、111 C、110
B、101 D、011
10、下列选项中,不属于基本数据类型的是( )
A、String
B、short
C、boolean
D、char
11、下列关于浮点型数据的定义,哪一个不能通 过编译( )
52、下面关于方法定义的描述中,正确的是( ) A、当方法没有返回值时,返回值类型要定义为void B、当方法没有返回值时,返回值类型可以不写 C、当方法没有返回值时,不能有return语句 D、方法是不可以没有参数的
53、Java允许在一个程序中定义多个同名的方法, 但是参数的类型或个数必须不同,这就是方法的 重载( )
java程序设计教程第六版 第2章

• 参考 Addition.java (第41页)
1-7
转义字符
问题:
• 如何打印一个带双引号的字符串?
I said "Hello" to you。 System.out.println ("I said "Hello" to you.");
• 上面的语句会让编译器报错,因为编译器会把第二个双 引号看作字符串的结束
+
a + (b – c) / d a b c / d
1-32
赋值运算符
• 赋值运算符比算术运算的优先级低
首先计算赋值运算符右边表达式的值 answer = 4 sum / 4 + MAX * lowest; 1 3 2
然后将计算结果存储于赋值号左边的变量中
1-33
赋值运算符
• 赋值运算符的两边可以包含相同的变量
例如MAX_OCCUPANCY表示一个剧院容纳的最多人数
2、 常量使得程序维护更加方便
如果程序中多处使用一个常量,那么只需要在一个地方修改
3、 常量获得初值后不能被修改,这样可避免其他程序员 疏忽导致的错误。
1-15
概要
字符串
变量பைடு நூலகம்赋值 基本数据类型
表达式
数据类型转换 交互程序 图形 Java Applet 绘图
1-20
1、整数类型
上面所说的整数long的形式如下: 5L 表示十进制值5,是一个long值 075L 表示八进制数值75,是一个long值 0x9ABCL 表示十六进制的数值9ABC,是一个long值 如果直接是 5 表示十进制5,是一个int型的
1-21
2、浮点类型double,float
《Java程序设计》(唐大仕)课后习题答案

第1章 Java语言面与向对象的程序设计1. Java语言有哪些主要特点?答:〔要点〕:1.简单易学2.面向对象3.平台无关性4.安全稳定5.支持多线程6.很好地支持网络编程7.Java丰富的类库使得Java可以广泛地应用2.简述面向过程问题求解和面向对象问题求解的异同。
试列举出面向对象和面向过程的编程语言各两种。
答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于电脑;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世界的实体或概念在电脑逻辑中的抽象表示,更接近于人的思维特点。
面向过程的编程语言:C,Pascal,Foratn。
面向对象的编程语言:C++,Java,C#。
3.简述对象、类和实体及它们之间的相互关系。
尝试从日常接触到的人或物中抽象出对象的概念。
答:面向对象技术中的对象就是现实世界中某个具体的物理实体在电脑逻辑中的映射和表达。
类是同种对象的集合与抽象。
类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。
如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。
4.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。
答:对象都具有状态和行为。
对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。
每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。
行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。
学生的状态:、性别、年龄、所在学校、所在系别、通讯地址、号码、入学成绩等;学生的行为:自我介绍、入学注册、选课、参加比赛等。
5.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系?答:对象间可能存在的关系有三种:包含、继承和关联。
第二章java基本语法

第二章java基本语法§。
1 java程序的构成前言:java语言源程序采用有效的16bit双字节字符编码标准(uni code)。
Java程序构成分物理构成和逻辑构成。
逻辑构成是基于信息组织的角度,而物理构成是基于程序组成的角度•§2.1。
1逻辑构成程序头包的引用:主要是指引用jdk软件包自带的包,也可以java源程序逻辑构成是自己定义的类。
引用后程序体中就可以自由应用包中的类的方法和属性等。
类的定义:java语言源程序中可以有多个类的定义,但必须有一个主类,此主类是java程序运行的入口点.在应用程序中,主类为包含main方法的类;在applet中,主类为用户自定义的系统applet类的扩展类•在java语言源程序中,主类的名字同文件名一致。
注:类的定义有包括类头声明和类体定义。
类体中包括属性(成员变量)声明和方法(行为)描述。
【例2.1】下面是一个应用程序,也是一个applet,既可以在命令行下运行,也可以嵌到html网页中用appletviewer 命令运行。
程序如下:// 程序文件名为welcomeapplet.java 注释语句import java 。
applet。
* ;import java.awt 。
*; 卜引入包import java.awt 。
event.* ;public class welcomeapplet exte nds applet impleme nts action listener {主类类头public void action performed (actionevent e) {txtdisp.settext (txtname 。
gettext() + "欢迎你来到 java 世界!”; }public static void main (string args[]){frame f=new frame( 欢迎");f.addwindowlistener(new windowadapter()) {public void wi ndowclosi ng(wi ndoweve nt ev {system o exit (0);} }welcomeapplet a=new welcomeapplet ();a 。
第2章_Java基本数据和运算

5 % 2= 1 5/2=2
分析运行结果
public class OperatorTest { public static void main(String[] args) { int i =7/3; int j =2+7%i; double k = 7.8/i+5; System.out.println("i="+i); System.out.println("j="+j); System.out.println(”k="+k); } }
算术运算符应用
某学生有3门课成绩,编程实现求平均分。
public class Test1 { public static void main(String[ ] args) { String name= "刘星"; //姓名 int javaScore=90; //Java成绩 int webScore=86; // Web成绩 int sqlScore=88; //Sql 成绩 double avgScore; //平均成绩 avgScore= (webScore+javaScore+sqlScore)/3; System.out.println("学生姓名:"+name); System.out.println("平均成绩:"+avgScore); } }
?
常见错误
下面语句正确吗?
int a = 10; int b = 10.2; double c = 10; c = a; int d = c; double不可以自动转化成int
分析运行结果
public class TypeTest1 { public static void main(String[] args) { int a = 5; float x = a; //自动类型转换 double y= 5.8; int b=(int)y; //强制类型转换 System.out.println("a="+a); System.out.println("x="+x); System.out.println("y="+y); System.out.println("b="+b); } }
JAVA语言程序设计清华大学出版社书上例题源代码第二章

【2_1】//计算二个数的和class Example2_1 {public static void main(String args[]) {int x,y,s;x = 3;y = 5;s =x+y; //求和System.out.println("二数之和为:" + s);}}【2_2】//计算圆的面积class Example2_2 {public static void main(String args[]) {double pi,r,s;r = 10.8; //圆的半径pi = 3.1416;s = pi * r * r; //计算面积System.out.println("圆的面积为:" + s);}}【2_3】/* char 变量的用法*/class Example2_3 {public static void main(String args[]) {char ch1,ch2;ch1 = 88; // code for Xch2 = 'Y';System.out.print("ch1 and ch2:");System.out.println(ch1 + " " + ch2);}}【2_4】/* 布尔类型的用法*/class Example2_4 {public static void main(String args[]) {boolean b;b = false;System.out.println("b is " + b);b = true;System.out.println("b is " + b);// outcome of a relational operator is a boolean valueSystem.out.println("10 > 9 is " + (10 > 9));}}【2_5】public class Example2_5{public static void main(String[] agrs){//定义几个变量并赋值int a=41;int b=21;double x=6.4;double y=3.22;System.out.println("变量数值:");System.out.println("a="+a);System.out.println("b="+b);System.out.println("x="+x);System.out.println("y="+y);//加法System.out.println("加:");System.out.println("a+b="+(a+b));System.out.println("x+y="+(x+y));//减法System.out.println("减:");System.out.println("a-b="+(a-b));System.out.println("x-y="+(x-y));//乘法System.out.println("乘:");System.out.println("a*b="+(a*b));System.out.println("x*y="+(x*y));//除法System.out.println("除:");System.out.println("a/b="+(a/b));System.out.println("x/y="+(x/y));//从除法中求得余数System.out.println("计算余数:");System.out.println("a%b="+(a%b));System.out.println("x%y="+(x%y));//混合类型System.out.println("混合类型:");System.out.println("b+y="+(b+y));System.out.println("a*x="+(a*x));}}public class Example2_6{public static void main(String[] args){//定义若干整型数int i=37;int j=42;int k=42;System.out.println("变量数值");System.out.println("i="+i);System.out.println("j="+j);System.out.println("k="+k);//大于System.out.println("大于:");System.out.println("i>j="+(i>j));//falseSystem.out.println("j>i="+(j>i));//trueSystem.out.println("k>j="+(k>j));//false//大于等于System.out.println("大于等于:");System.out.println("i>=j="+(i>=j));//falseSystem.out.println("j>=i="+(j>=i));//trueSystem.out.println("k>=j="+(k>=j));//true//小于System.out.println("小于:");System.out.println("i<j="+(i<j));//trueSystem.out.println("j<i="+(j<i));//falseSystem.out.println("k<j="+(k<j));//false//小于等于System.out.println("小于等于:");System.out.println("i<=j="+(i<=j));//trueSystem.out.println("j<=i="+(j<=i));//falseSystem.out.println("k<=j="+(k<=j));//false//等于System.out.println("等于:");System.out.println("i==j="+(i==j));//falseSystem.out.println("k==j="+(k==j));//true//不等于System.out.println("不等于:");System.out.println("i!=j="+(i!=j));//trueSystem.out.println("k!=j="+(k!=j));//false}}class Example2_7{public static void main(String args[]){//字符char a1='银',a2='行',a3='帐',a4='号';//密鈅char secret='x';//异或运算加密a1=(char)(a1^secret); a2=(char)(a2^secret);a3=(char)(a3^secret); a4=(char)(a4^secret);System.out.println("密文:"+a1+a2+a3+a4);//再一次异或运算解密a1=(char)(a1^secret); a2=(char)(a2^secret);a3=(char)(a3^secret); a4=(char)(a4^secret);System.out.println("原文:"+a1+a2+a3+a4);}}【2_8】/* if结构*/public class Example2_8{public static void main(String args[]){int a=9,b=5,c=7,t;if(a>b){t=a; a=b; b=t;}if(a>c){t=a; a=c; c=t;}if(b>c){t=b; b=c; c=t;}System.out.println("a="+a+",b="+b+",c="+c);}}/* if-else-if 结构. */class Example2_9 {public static void main(String args[]) {int month = 4; // 4月份String season;if(month == 12 || month == 1 || month == 2){season = "冬天";}else if(month == 3 || month == 4 || month == 5){season = "春天"; }else if(month == 6 || month == 7 || month == 8){season = "夏天"; }else if(month == 9 || month == 10 || month == 11){season = "秋天"; }else{ season = "不合法的月份"; }System.out.println("4月是" + season + ".");}}【2_10】/* switch开关语句*/import java.applet.*;import java.awt.*;public class Example2_10 extends Applet{public void paint(Graphics g){int x=1,y=1;switch(x+y){case 1 :g.setColor(Color.red);g.drawString("i am 1",5,10);break;case 2:g.setColor(Color.blue);g.drawString("i am 2",5,10);// break;case 3:g.setColor(Color.green);g.drawString("i am 3",5,10);break;default:g.drawString("没有般配的",5,10);}}/*<APPLET CODE="Example2_10.class" WIDTH="200" HEIGHT="300"></APPLET>*/【2_11】/* for循环*/import javax.swing.JOptionPane;public class Example2_11{public static void main(String[] args){ int sum=0;for(int i=1;i<=100;i++){sum=sum+i;}JOptionPane.showMessageDialog(null,"1+2+3+...+100= "+sum);System.exit(0); //退出程序}}【2_12】/* while循环*/import javax.swing.JOptionPane;public class Example2_12{public static void main(String[] args){int s=1, i=1;while(i<=10){s=s*i;i++;}JOptionPane.showMessageDialog(null,"1*2*3*...*10= "+s);System.exit(0); //退出程序}}/* do-while循环*/import java.applet.*;import java.awt.*;public class Example2_13 extends Applet{public void paint(Graphics g){int i=1;do{g.drawOval(110-i*10,110-i*10,i*20,i*20);i++;}while(i<=10);}}/*<APPLET CODE="Example2_13.class" WIDTH="300" HEIGHT="300"></APPLET>*/【2_14】/* 使用break语句跳出循环 */import javax.swing.JOptionPane;class Example2_14{public static void main(String args[]){for(int i=0; i<100; i++){if(i == 10) break; // i=10时跳出循环JOptionPane.showMessageDialog(null,"i="+i);}JOptionPane.showMessageDialog(null,"循环已经结束!");System.exit(0); //退出程序}}/* 使用break语句跳出内循环 */class Example2_15{public static void main(String args[]){for(int i=1; i<6; i++){for(int j=1;j<3; j++){if(i == 3) break; // i=5时跳出循环int sum=i+j;System.out.println(i+"+"+j+"="+sum);}}System.out.println("循环已经结束!");}}【2_16】/* 使用"标签化中断"的break语句跳出循环 */class Example2_16{public static void main(String args[]){out: for(int i=1; i<6; i++) //设置标号{for(int j=1;j<3; j++){if(i == 3) break out; // i=3时跳出循环int sum=i+j;System.out.println(i+"+"+j+"="+sum);}}System.out.println("循环已经结束!");}}【2_17】/*continue语句打印三角形*/import javax.swing.JOptionPane;class Example2_17 {public static void main(String args[]) {String output="";for(int i=0; i<5; i++) {for(int j=0; j<5; j++) {if(j > i) {continue ;}output= output +"*"+" ";}output=output+"\n";}JOptionPane.showMessageDialog(null,output);System.exit(0);}}【2_18】/* 求一组数字的平均值*/import javax.swing.JOptionPane;class Example2_18 {public static void main(String args[]) {double nums[] = {10.1, 11.2, 12.3, 13.4, 14.5};double result = 0;for(int i=0; i<5; i++){result = result + nums[i]; }JOptionPane.showMessageDialog(null,"平均值为:" + result / 5);System.exit(0);}}【2_19】// 二维数组赋值class Example2_19{public static void main(String args[]) {int twoD[][]= new int[4][5];int i, j, k = 0;for(i=0; i<4; i++)for(j=0; j<5; j++) {twoD[i][j] = k;k++;}for(i=0; i<4; i++) {for(j=0; j<5; j++)System.out.print(twoD[i][j] + " ");System.out.println();}}}【2_20】import java.util.*;class Example2_20{public static void main(String[] args){Vector v1 =new Vector();for (int i=1;i<10;i++){v1.addElement(" " + i);System.out.println(v1.toString());}v1.insertElementAt("abc",5);System.out.println("\n插入元素:"+v1.toString());}}【2_21】import java.util.*;public class Example2_21{ public static void main(String args[]){ String s="boy,java,Applet girl,Hat";StringTokenizer st=new StringTokenizer(s," ,"); //空格和逗号做分int number=st.countTokens();while(st.hasMoreTokens()){ String str=st.nextToken();System.out.println(str);}System.out.println("s共有单词:"+number+"个");}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2 简单的Java程序解析
2.2.1 类(class) Java程序是由类(class)组成的,类的概念在以后会有详 细讲解,读者只要先记住所有的Java程序都是由类组成的即 可。下面的程序片段即为定义类的典型范例。
public class Test { … } // 定义 public 类 Test
第2章 简单的Java程序
图2-1 类与文件名示意图
第2章 简单的Java程序
(3) 第4行public static void main(String args[])为程序运行
的起点。第4~10行的功能类似于一般程序语言中的函数 (function),但在Java中称之为method(方法)。因此C语言里 的main()函数(主函数)在Java中被称为main() method(主方法)。 (4) main() method的主体(body)从第5行的左大括号“{” 到第11行的右大括号“}”为止。每一个独立的Java程序一定 要有main() method才能运行,因为它是程序开始运行的起点。 (5) 第6行“int num;”的目的是声明num为一个整数类型 的变量。在使用变量之前必须先声明其类型。 (6) 第7行“num=3;”为一赋值语句,即把整数2赋给存放 整数的变量num。
public static void main(String args[]) 程序开始 { … } // main()方法,主
第2章 简单的Java程序
2.2.4 Java程序的注释
为程序添加注释可以用来解释程序的某些语句的作用和 功能,提高程序的可读性,也可以使用注释在原程序中插入 设计者的个人信息。此外,还可以用程序注释来暂时屏蔽某 些程序语句,让编译器暂时不要处理这部分语句,等到需要 处理的时候,只需把注释标记取消就可以了。Java中的注释 根据不同的用途分为以下三种类型: (1) 单行注释:就是在注释内容前面加双斜线(//),Java 编译器会忽略掉这部分信息。 (2) 多行注释:就是在注释内容前面以单斜线加一个星 型标记(/*)开头,并在注释内容末尾以一个星型标记加单斜
这些简单名称所代表的意义容易忘记,必然会增加阅读及调
试程序的困难程度。
第2章 简单的Java程序
4.变量名称的限制
声明一个变量时,标识符的选择并不是任意的,需要遵 循变量的命名规则,否则为无效的变量名。这一点同2.2.5节 所述的标识符的名称限制是一致的。例如,变量名必须是一 个有效的标识符。在Java语言中一个有效的标识符通常是以 大小写英文字母、数字、下划线“_”和美元符号“$”组成的, 不能声明多个相同的变量名,变量名不能命名为Java的关键 字。
第2章 简单的Java程序
下面是合法的标识符: yourname your_name _yourname $yourname 下面是非法的标识符: class 67.9 Hello Careers
第2章 简单的Java程序
2.2.6 Java的关键字
和其他语言一样,Java中也有许多保留关键字,如 public、static等,这些保留关键字不能当作标识符使用。下 面列出了Java中的保留关键字,这些关键字并不需要读者去 强记,因为一旦使用了这些关键字做标识符,编辑器会自动 提示错误。 abstract、char、else、for、interface、private、boolean、 class、extend、if、long、protected、break、continue、false、 implement、native、public、byte、default、final、import、 new、return、case、do、finally、instanceof、null、short、 catch、double、float、int、package、static、synchronized、
第2章 简单的Java程序
(7) 第9行的语句为“System.out.println("这是数字
"+num);”,程序运行时会在显示器上输出引号内所包含的内 容,包括“这是数字”和整数变量num所存放的值两部分内 容。 (8) 第11行的右大括号告诉编译器main() method到此处 结束。 (9) 第12行的右大括号告诉编译器class TestJava2_1到此 处结束。
// 输出字符串,这里用"+" 号连接变量 System.out.println("这是数字 "+num); System.out.println("我有 "+num+" 本书!");
第2章 简单的Java程序
输出结果:
这是数字3 我有3本书! 如果现在看不懂上面的这个程序也没有关系,先将它敲 进Java编辑器中,并存盘、编辑、运行,就可以看到上面的 输出结果。 从上面的输出结果中可以看出System.out.println()的作 用,就是输出括号内所包含的文字。至于public、class、 static、void这些关键字的含义,将在以后的章节中再做更深 入一层的探讨。
第2章 简单的Java程序
上面的程序定义了一个新的public类Test,这个类的原
始程序的文件名称应取名为 Test.java。类Test的范围由一对 大括号所包含。public是Java的关键字,指的是对于类的访 问方式为公有。需要读者注意的是,由于Java程序是由类所 组成的,因此在完整的Java程序里,至少需要有一个类。此 外,在Java程序中,其原始程序的文件名不能随意命名,必 须和public类名称一样,因此在一个独立的原始程序里,只 能有一个public类,但可以有许多non-public类。此外,若一 个Java程序中没有一个类是public,那么该Java程序的文件 名就可以随意命名了。
第2章 简单的Java程序
第2章 简单的Java程序
2.1 一个简单的例子
2.2 简单的Java程序解析
2.3 程序的检测 2.4 提高程序的可读性
第2章 简单的Java程序
2.1 一个简单的例子
下面来看一个简单的Java程序。 【例2-1】 TestJava2_1.java。
01 // TestJava2_1.java,java 的简单范例 02 public class TestJava2_1 03 { 04 05 06 07 08 09 10 11 12 } } public static void main(String args[]) { int num ; num = 3 ; // 声明一个整型变量 num // 将整型变量赋值为 3
第2章 简单的Java程序
2.2.2 大括号、段及主体 将类名称定出之后,就可以开始编写类的内容。左大括 号“{”为类的主体开始标记,整个类的主体至右大括号“}” 结束。每个命令语句结束时,必须以分号“;”作结尾。当某 个命令的语句不止一行时,必须以一对大括号“{}”将这些 语句包括起来,形成一个程序段(segment)或块(block)。下面 以一个简单的程序为例来说明什么是段与主体。若是暂时看 不懂TestJava2_2这个程序,也不用担心,后面陆续会讲到该 程序中所用到的命令。在下面的程序中,可以看到main() method的主体以左右大括号包围起来;for循环中的语句不 止一行,所以使用左右大括号将属于for循环的段内容包围起 来;整个程序语句的内容又被第3行与第13行的左右大括号 包围,这个块属于public类TestJava2_2所有。此外,应该注 意到每个语句结束时,都以分号作为结尾。
号分开。
第2章 简单的Java程序
2. 变量的数据类型
除了整数类型之外,Java的变量类型可以是整型(int)、 长整型(long)、短整型(short)、浮点型(float)、双精度浮点型 (double)等,除了这些数据类型外,还有字符型(char)或字符 串型(String)。关于这些数据类型,本书将在第3章进行详细 介绍。 3.变量名称 变量的名称可以依据个人的喜好来决定,但变量的名称 不能使用Java的关键字。通常用变量所代表的意义来取名 (如 num 代表数字)。当然也可以使用a、b、c等简单的英文 字母代表变量,但是当程序很大时,需要的变量数量会很多,
线(*/)结束。当注释内容超过一行时一般使用这种方法。
第2章 简单的Java程序
(3) 文档注释:是以单斜线加两个星型标记(/**)开头,
并以一个星型标记加单斜线(*/)结束。用这种方法注释的内 容会被解释成程序的正式文档,并包含进如javadoc之类的 工具生成的文档里,用以说明该程序的层次结构及使用方法。 2.2.5 Java中的标识符 Java中的包、类、方法、参数和变量的名字可由任意顺 序的大小写字母、数字、下划线(_)和美元符号($)组成,但 标识符不能以数字开头,不能是Java中的保留关键字。
第2章 简单的Java程序
【例 2-2】 TestJava2_2.java。
01 //TestJava2_2,简单的 java 程序 02 public class TestJava2_2 03 { 04 05 06 07 08 09 10 11 12 13 } for 循环所属的段 main() method 的主体 public 类 TestJava2_2 主体 } } Public static void main(String args[]) { int x; for(x=1; x<3; x++) { System.out println(x+“*”+x); System.out println(“=”+x*x);
输出结果:
1*1=1 2*2=4
第2章 简单的Java程序