1、第二章第二章 JavaJava编程基础编程基础 Java语言基础2【学习目标】1 1掌握掌握 Java Java 程序中的程序中的注释用法注释用法。2 2掌握掌握 Java Java 的的命名规则命名规则,了解,了解 Java Java 的的标识符和系统保留字标识符和系统保留字。3 3掌握掌握 Java Java 的的基本数据类型基本数据类型,了解常量、变量和,了解常量、变量和 Java Java 扩展的数据类扩展的数据类型。型。4 4掌握掌握 Java Java 语言语言基本运算符的使用基本运算符的使用,掌握,掌握 Java Java 语言基本运算符的语言基本运算符的优优先级。先级。5 5掌
2、握掌握 Java Java 程序的程序的基本控制结构基本控制结构。6 6掌握并运用掌握并运用数组数组。Java语言基础32.1 2.1 数据类型、常量、变量数据类型、常量、变量 一、标识符一、标识符 标识符:能被编译器识别而提供的在程序中惟一的名字。在标识符:能被编译器识别而提供的在程序中惟一的名字。在JavaJava语言中用标语言中用标识符对变量、类、方法等进行命名。识符对变量、类、方法等进行命名。对标识符的定义需要遵守以下的规则:对标识符的定义需要遵守以下的规则:标识符是由字母、标识符是由字母、“_ _”、“$”和数字组成。和数字组成。标识符标识符以字母、以字母、“_ _”、“$”开头开头
3、。标识符标识符不能与关键字同名不能与关键字同名。标识符标识符区分大小写区分大小写。如:。如:sumsum和和SumSum是不同的标识符。是不同的标识符。例如:例如:nes_idnes_id,$fail$fail,_ _eseese为合法标识符。为合法标识符。nesnes-id-id,studstud*,classclass为不合法为不合法标识符。标识符。Java语言基础4二、关键字二、关键字 关键字:关键字:Java语言本身提供的一种特殊的标识符,又称语言本身提供的一种特殊的标识符,又称Java保保留字。留字。Java语言的关键字有语言的关键字有40多个多个.Java语言基础5 三、数据类型三
4、、数据类型JavaJava数据类型数据类型:基本数据类型和复合数据类型。基本数据类型和复合数据类型。n 基本数据类型基本数据类型:数值型数值型、字符型字符型和和布尔型布尔型;n 复合类型复合类型:类类和和接口接口类型。类型。1 1数值型数据数值型数据整数整数类型、类型、浮点浮点类型。类型。Java语言基础6(1)整数类型 JavaJava把整型数细分为把整型数细分为字节型、短整型、整型、长整型字节型、短整型、整型、长整型。它们的类型。它们的类型标识符、默认值、取值范围和所占字节如表标识符、默认值、取值范围和所占字节如表2-22-2所示:所示:注意:Java中所有整数类型都是有符号的,没有无符号
5、的整数。Java语言基础7(2)浮点型 Java提供了两种浮点类型:单精度和双精度。它们的类型标识符、默认值、取值范围和所占字节如表2-3所示:表2-3浮点数据分类 Java语言基础8(3)字符类型(4)布尔型Java语言基础9四、常量四、常量在在Java语言中的常量有:语言中的常量有:整型常量整型常量:十进制、八进制(以十进制、八进制(以0开头)、十六进制(开头)、十六进制(以以0 x或或0X开头开头)浮点常量浮点常量:小数形式和指数形式小数形式和指数形式字符常量:字符常量:单引号括起来的一个字符,区分大小写单引号括起来的一个字符,区分大小写布尔常量:布尔常量:true 和和false字符串
6、常量:字符串常量:双双引号括起来的一串字符,区分大小写引号括起来的一串字符,区分大小写程序中定义的常量(符号常量)程序中定义的常量(符号常量)Java语言基础10转义字符转义字符JavaJava语言还允许使用一种以语言还允许使用一种以“”开头的字符,我们称其为转义字符,开头的字符,我们称其为转义字符,用来表示一些不可显示的或有特殊意义的字符。用来表示一些不可显示的或有特殊意义的字符。Java语言基础11在在JavaJava程序中定义常量通过程序中定义常量通过finalfinal关键字实现,关键字实现,常量通常常量通常用大写字母表示用大写字母表示。常量。常量声明赋值后声明赋值后,在,在程序中就不
7、能再修改程序中就不能再修改,否则将会产生编译错误。否则将会产生编译错误。定义语句格式如下:定义语句格式如下:final final 类型标识符类型标识符 常量名常量名 常量值;常量值;例如:例如:final final intint N 100;N 100;程序中定义的常量(符号常量)程序中定义的常量(符号常量)Java语言基础12五、变量五、变量1.1.变量定义变量定义Java语言规定,程序中的变量语言规定,程序中的变量必须先定义、后使用必须先定义、后使用.定义定义变量语句的一般格式如下:变量语句的一般格式如下:数据类型数据类型 变量列表;变量列表;给变量给变量赋值赋值语句的一般格式为:语句
8、的一般格式为:变量名变量名=表达式;表达式;Java语言基础13例例2.1给变量赋值的演示给变量赋值的演示public class j202public static void main(String arg)int a,b;/定义变量定义变量a,b为整型变量为整型变量a=1;/给变量给变量a赋初值赋初值System.out.println(a=+a);a=a+1;System.out.println(a=+a);b=a+1;System.out.println(b=+b);a=b+2;System.out.println(a=+a);Java语言基础143 3变量初始化变量初始化例例2.2给
9、变量赋值给变量赋值public class j203public static void main(String arg)byte a=0 x78;/定义十六进制字节型变量定义十六进制字节型变量int b=3;/定义变量定义变量b为整型变量为整型变量float c=1.23f;/定义变量定义变量c为单精度变量为单精度变量double d=3.23;/定义变量定义变量d为双精度变量为双精度变量boolean e=false;/定义变量定义变量e为布尔型变量为布尔型变量char f=A;/定义变量定义变量f为字符型变量为字符型变量System.out.println(转换成十进制的转换成十进制的a
10、=+a);/120System.out.println(b=+b);/3System.out.println(c=+c);/1.23System.out.println(d=+d);/3.23System.out.println(e=+e);/falseSystem.out.println(f=+f);/AJava语言基础152.2 运算符与表达式运算符与表达式nJava语言运算符是一种特殊字符,他指明用户语言运算符是一种特殊字符,他指明用户对操作数进行的某种操作。对操作数进行的某种操作。n表达式是由常量、变量、方法调用以及一个或表达式是由常量、变量、方法调用以及一个或多个运算符按一定规则的组
11、合,它用于计算或多个运算符按一定规则的组合,它用于计算或对变量进行赋值。对变量进行赋值。Java语言基础162.2.12.2.1算术运算符与算术表达式算术运算符与算术表达式 Java语言基础17说明说明(1)(1)“+”运算符可以用来运算符可以用来连接字符串连接字符串;例如:;例如:String salutation=Dr.;String salutation=Dr.;String name=Jack;String name=Jack;String title=String title=salutation+namesalutation+name;则则titletitle值为值为“Dr.Jac
12、kDr.Jack”。(2)(2)“/”运算符。两个整数相除的结果是整数,如果有一个操运算符。两个整数相除的结果是整数,如果有一个操作数为小数则结果为小数。例如作数为小数则结果为小数。例如5/2=25/2=2;5.0/2=2.55.0/2=2.5。(3 3)“%”运算符。运算符。JavaJava中的取模运算符与中的取模运算符与C C和和C+C+不同,它的不同,它的操作数可以是浮点数。例如操作数可以是浮点数。例如-3.5%3=-0.5-3.5%3=-0.5,3.5%-3=0.53.5%-3=0.5。Java语言基础18(4 4)+(-)运算符的)运算符的操作数必须是变量操作数必须是变量,不能是常量
13、和,不能是常量和表达式。它们可以放在变量前,也可以放在变量后,功能都表达式。它们可以放在变量前,也可以放在变量后,功能都是对变量增(减)是对变量增(减)1 1。但从表达式的角度看,表达式的值是。但从表达式的角度看,表达式的值是不同的不同的.例如:例如:k=a+k=a+;等价于;等价于k=a;a=a+1;k=a;a=a+1;如如a=5a=5,则,则k=5k=5,a=6a=6;k=+a;k=+a;等价于等价于a=a+1;k=a;a=a+1;k=a;如如a=5a=5,则,则k=6k=6,a=6a=6;Java语言基础19例例24算术运算算术运算public class j204public stat
14、ic void main(String arg)int a=3,b=5,c=5;System.out.println(初值初值a=3,b=5,c=5);System.out.println(b/a=+b/a);System.out.println(c%a=+c%a);System.out.println(-a=+(-a);System.out.println(b+=+(b+)+,+b=+b);System.out.println(+c=+(+c)+,+c=+c);Java语言基础202.2.2 关系运算符与关系表达式关系运算符与关系表达式1 1关系运算符组成关系运算符组成JavaJava语言提
15、供了语言提供了6 6种关系运算符种关系运算符、=、=7107的值为的值为truetrue,1010!=10=10的值为的值为false false Java语言基础212.2.32.2.3逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算与关系运算的关系十分密切,关系运算的运算结果逻辑运算与关系运算的关系十分密切,关系运算的运算结果是布尔型的运算,而逻辑运算的操作数和运算结果都是布尔是布尔型的运算,而逻辑运算的操作数和运算结果都是布尔型的运算。型的运算。逻辑运算符逻辑运算符:n!(非)(非)n&(简洁与):逻辑与(简洁与):逻辑与n|(简洁或):逻辑或(简洁或):逻辑或n&(非简洁与)(非简
16、洁与):按位与按位与n|(非简洁或):按位或(非简洁或):按位或n(异或)(异或)其中!是单目运算符。其中!是单目运算符。Java语言基础22例例2.5逻辑运算逻辑运算public class j205public static void main(String arg)int x=1,y=2;int num1=5,num2=5,num3=5,num4=5;boolean r1,r2,r3,r4;r1=xy&num1+=5;/两边表达式都运算两边表达式都运算r2=xy&num2+=5;/只运算左边表达式只运算左边表达式r3=xy|num3+=5;/两边表达式都运算两边表达式都运算r4=xb:+
17、(a b);System.out.println(a=b:+(a=b);System.out.println(t&f:+(t&f);System.out.println(t|f:+(t|f);System.out.println(!f:+(!f);System.out.println(tf:+(t f);System.out.println(t&f:+(t&f);System.out.println(t|f:+(t|f);Java语言基础242.2.4 赋值运算符赋值运算符n赋值运算符的作用是将运算符赋值运算符的作用是将运算符“=”右侧表达式的值右侧表达式的值赋给左侧的变量。赋给左侧的变量。n
18、另外另外“=”和其它运算符组合产生了扩展赋值运算符。和其它运算符组合产生了扩展赋值运算符。a+=2 a+=2 等价于等价于a=a+2a=a+2。Java语言基础252.2.5 条件运算符条件运算符 条件运算符条件运算符“?”“?”是三目运算符,其格式为:是三目运算符,其格式为:表达式?语句表达式?语句1 1:语句:语句2 2;其中表达式的值是布尔类型,当表达式的值为其中表达式的值是布尔类型,当表达式的值为truetrue时执行语句时执行语句1 1,否则执行语句,否则执行语句2 2。要求语句。要求语句1 1和语和语句句2 2 返回的数据类型必须相同,并且不能无返回值。返回的数据类型必须相同,并且
19、不能无返回值。Java语言基础26例例2.6 比较三个数的大小,求出其中的最大值和最小值比较三个数的大小,求出其中的最大值和最小值public class j206public static void main(String arg)int a=12,b=-23,c=34;int max,min,t;/求三个数中的最大值求三个数中的最大值t=ab?a:b;max=tc?t:c;/求三个数中最小值求三个数中最小值t=ab?a:b;min=tc?t:c;/显示结果显示结果System.out.println(max=+max);System.out.println(min=+min);Java语言
20、基础272.2.6 运算符优先级运算符优先级28n位运算符位运算符1.按位取反按位取反 “op2”2.按位与按位与&“op1&op2”3.按位或按位或|“op1|op2”4.按位异或按位异或 “op1 op2”通常通常:操作数为整数操作数为整数运算符(operator)29n采用补码表示二进制数采用补码表示二进制数n最高位是符号位最高位是符号位n正数的符号位是正数的符号位是0,例,十进制例,十进制42的补码为的补码为00101010n负数的符号位是负数的符号位是1该负数绝对值的补码按位取反,然后加该负数绝对值的补码按位取反,然后加1,为该负,为该负数的补码数的补码例,十进制例,十进制-42的补
21、码的补码负数的绝对值负数的绝对值42 绝对值的补码绝对值的补码00101010 按位取反按位取反11010101 加加1得得11010110补码30对操作数的每一个二进制位进行“取反”操作nbyte a=42;nbyte aa=a;nSystem.out.println(“aa=”+aa);42 00101010 /a a-43 11010101 /原码为10101011=-43按位取反按位取反 “op2”31将操作数的对应位逐位进行位逻辑与运算将操作数的对应位逐位进行位逻辑与运算1&1 1,其余为,其余为0用途用途1.取某一整数中指定的几个二进制位取某一整数中指定的几个二进制位42&15 0
22、0101010&00001111 00001010 取后四位取后四位按位与&“op1&op2”32n用途用途2.将某一整数的某一或几位清将某一整数的某一或几位清043&1 00101011&11111110 00101010按位与&“op1&op2”33将操作数的对应位逐位进行位逻辑或运算将操作数的对应位逐位进行位逻辑或运算有有1 1,其余为,其余为042|15 00101010|00001111 00101111用途用途:将一个整数的某一位或几位置将一个整数的某一位或几位置1按位或|“op1|op2”34将操作数的对应位逐位进行位异或运算将操作数的对应位逐位进行位异或运算对应位不同对应位不同
23、1,其余为,其余为042 15 00101010 00001111 00100101用途用途:将一个整数的某一位或几位取反将一个整数的某一位或几位取反按位异或 “op1 op2”35n移位运算符移位运算符(Shift Operators)1.左移左移 “op1 “op1 op2”3.无符号右移无符号右移 “op1 op2”运算符(operator)361.将操作数将操作数op1的二进制位向左移的二进制位向左移op2(正整数正整数)位位2.低位补零低位补零 例:例:int a=42;int aa=a 2;System.out.println(“aa=”+aa);分析:分析:42=00101010
24、B 42 2 10101000 相当于相当于 42*22=168运算速度比乘法快运算速度比乘法快注意注意:溢出溢出左移 “op1 2;System.out.println(“aa=”+aa);分析:分析:-42=(10101010)原原=(11010110)补补 -42 2 11110101 /(10001011)原原=-11 相当于相当于 -42/22=-10.5 运算速度比除法快运算速度比除法快右移 “op1 op2”381.将操作数将操作数op1的二进制位向右移的二进制位向右移op2(正整数正整数)位位2.高位补零高位补零,零扩展,零扩展(zero-extension)例:例:int a
25、=-42;int aa=a 2;System.out.println(“aa=”+aa);分析:分析:-42=(10101010)原原=(11010110)补补 -422 00110101 /32+16+4+1=53实现数的拼接实现数的拼接无符号右移 “op1 op2”总结n算术右移算术右移,符号位复制符号位复制,为正数时左边补为正数时左边补0,为负数时左边为负数时左边补补1.右边舍弃。右边舍弃。n逻辑右移逻辑右移,这个才是和这个才是和和和是一样的;对于负数是一样的;对于负数,逻逻辑辑右移之后就变成正数了右移之后就变成正数了.练习练习 位运算符位运算符public class BitOpDem
26、o public static void main(String args)int a=0 xB5;/a=10110101B int b=0 xA3;/b=10100011B System.out.println(a=+Integer.toBinaryString(a);System.out.println(b=+Integer.toBinaryString(b);System.out.println(a=+Integer.toBinaryString(a);System.out.println(a&b=+Integer.toBinaryString(a&b);System.out.print
27、ln(a|b=+Integer.toBinaryString(a|b);System.out.println(ab=+Integer.toBinaryString(a b);System.out.println(a3=+Integer.toBinaryString(a 3=+Integer.toBinaryString(a 3);System.out.println(a3=+Integer.toBinaryString(a 3);运行结果Java语言基础422.3 Java2.3 Java程序的流程控制程序的流程控制n2.3.1 顺序结构顺序结构n2.3.2 选择结构选择结构n2.3.3 循环
28、结构循环结构Reader常用子类常用子类nBufferedReadern构造一个字符流的缓存构造一个字符流的缓存,里面,里面存放存放的是从控制台输入的字节转换成的是从控制台输入的字节转换成的的字符,字符,从而实现字符、数组和行的高效读取。从而实现字符、数组和行的高效读取。n可以指定缓冲区的大小可以指定缓冲区的大小nInputStreamReadern字节流通向字符流的桥梁字节流通向字符流的桥梁:它使用指定的:它使用指定的 charsetcharset 读取字节并读取字节并将其解码为字符。将其解码为字符。n每次每次调用调用 InputStreamReaderInputStreamReader的的
29、read()read()方法都会导致从底层输入方法都会导致从底层输入流读取一个或多个字节。流读取一个或多个字节。buf=new BufferedReader(new InputStreamReader(System.in);Java语言基础44例例2.7输入一个数,求其平方根输入一个数,求其平方根import java.io.*;public class j207 public static void main(String arg)throws IOException int x;double y;String str;/声明字符串类声明字符串类 BufferedReader buf;/声明
30、缓冲数据流类声明缓冲数据流类 System.out.print(请输入一个数请输入一个数:);buf=new BufferedReader(new InputStreamReader(System.in);str=buf.readLine();x=Integer.parseInt(str);/返回由字符串转换得到的整数返回由字符串转换得到的整数 y=Math.sqrt(x);/求平方根求平方根 System.out.println(x+的平方根为:的平方根为:+y);/显示计算结果显示计算结果 Java语言基础45例例2.8输入一个数,求其输入一个数,求其平方根平方根import java.i
31、o.*;public class j208 public static void main(String arg)throws IOException int x;double y;String str;BufferedReader buf;System.out.print(请输入请输入一个数一个数:);buf=new BufferedReader(new InputStreamReader(System.in);str=buf.readLine();x=Integer.parseInt(str);if(x=0)y=Math.sqrt(x);System.out.println(x+的的平方根
32、为:平方根为:+y);Java语言基础46例例29输入一个数,求其平方根输入一个数,求其平方根import java.io.*;public class j209public static void main(String arg)throws IOExceptionint x;double y;String str;BufferedReader buf;System.out.print(请输入一个请输入一个数数:);buf=new BufferedReader(new InputStreamReader(System.in);str=buf.readLine();x=Integer.pars
33、eInt(str);if(x=0)y=Math.sqrt(x);System.out.println(x+的平方的平方根为:根为:+y);else System.out.println(输入错误!输入错误!);Java语言基础47例例2.10 2.10 编写程序,输入一个成绩,输出成绩的等级。等编写程序,输入一个成绩,输出成绩的等级。等级划分标准:级划分标准:8585分以上为优,分以上为优,75758484为良,为良,60607474为中,为中,6060分以下为不及格分以下为不及格import java.io.*;public class j210public static void main
34、(String arg)throws IOExceptionint x;String str;BufferedReader buf;System.out.print(请输入学生请输入学生成绩(成绩(0-100)之间:)之间:);buf=new BufferedReader(new InputStreamReader(System.in);str=buf.readLine();x=Integer.parseInt(str);if(x=85)System.out.println(成绩优秀!成绩优秀!);else if(x=75)System.out.println(成绩良好!成绩良好!);else
35、 if(x60)System.out.println(成绩及格!成绩及格!);else System.out.println(成绩不及格!成绩不及格!);Java语言基础48例例2.112.11输入成绩的英文等级:输入成绩的英文等级:A A、B B、C C、D D,输出对应的,输出对应的中文等级:优秀、良好、及格、不及格中文等级:优秀、良好、及格、不及格 import java.io.*;public class j211public static void main(String arg)throws IOException char ch;System.out.print(请输入英文请输入
36、英文等级(等级(A,B,C,D):);/接受从键盘上输入的一个数据接受从键盘上输入的一个数据把它转换成一个字符把它转换成一个字符ch=(char)System.in.read();switch(ch)case A:case a:System.out.println(成成绩优秀!绩优秀!);break;case B:case b:System.out.println(成成绩良好!绩良好!);break;case C:case c:System.out.println(成成绩及格!绩及格!);break;case D:case d:System.out.println(成成绩不及格!绩不及格!);
37、break;default:System.out.println(输输入错误!入错误!);Java语言基础49例例2.12 用户从键盘输入字符,直到输入用户从键盘输入字符,直到输入&程序结束。要求:输入程序结束。要求:输入字符后显示输入字符的字符后显示输入字符的ASCII值并最终统计出输入字符的个数值并最终统计出输入字符的个数 import java.io.*;public class j212public static void main(String arg)throws IOExceptionchar ch;int count=0;System.out.println(请输入一个字符,以
38、请输入一个字符,以&结束输入:结束输入:);ch=(char)System.in.read();while(ch!=&)System.out.println(字符字符+ch+的的ASCII值为值为:+(int)ch);System.in.skip(2);count=count+1;ch=(char)System.in.read();System.out.println(输入的字符共输入的字符共+count);nSystem.in.skip(2);当用户键入字母,按当用户键入字母,按Enter 键后,虽然屏幕只显示了一个字母,但是在系统内存键后,虽然屏幕只显示了一个字母,但是在系统内存中实际保存
39、了中实际保存了3个个ASCII码。码。第一个第一个ASCII码是用户键入的字母的码是用户键入的字母的ASCII码,码,第二个是回车的第二个是回车的ASCII码码 13,第三个是换行的第三个是换行的ASCII码码 10。在这种情况下,在这种情况下,System.in.read();语句会在第二、三轮循环时分别读取内存中语句会在第二、三轮循环时分别读取内存中的的ASCII 码码 13和和 10,而不会要求用户键入新的字母。只有在第四轮循环时,因,而不会要求用户键入新的字母。只有在第四轮循环时,因为内存中的内容已经全部读取完,才会要求用户键入新的字母。为内存中的内容已经全部读取完,才会要求用户键入新
40、的字母。Java语言基础52例例2.132.13对例对例2.122.12进行改编,用进行改编,用do-whiledo-while语句实现语句实现import java.io.*;public class j213public static void main(String arg)throws IOExceptionchar ch;int count=0;System.out.println(请输入字符,以请输入字符,以#结束输入:结束输入:);doch=(char)System.in.read();System.out.println(字符字符+ch+的的ASCII值为值为:+(int)ch
41、);count=count+1;while(ch!=#);System.out.println(输入的字符共:输入的字符共:+count);Java语言基础54/*方法方法3*/i=1;sum=0;/赋初值赋初值for(;)sum=sum+i;/求累加和求累加和if(i=100)break;/退出循环条件退出循环条件i+;/加数自加加数自加System.out.println(1+2+.+100=+sum);Java语言基础55 例例2.14计算计算1+2+3+100的值的值 public class j214public static void main(String arg)int i,s
42、um;/定义变量定义变量/*方法方法1*/sum=0;/给存放累加和的变量赋初值给存放累加和的变量赋初值0for(i=1;i=100;i+)/求累加和的循环开始求累加和的循环开始sum=sum+i;/求累加和求累加和System.out.println(1+2+.+100=+sum);/*方法方法2*/for(sum=0,i=1;i=100;sum=sum+i,i+);/循环语句循环语句System.out.println(1+2+.+100=+sum);Java语言基础56 例例2.152.15求求1-10001-1000之间的所有完全数之间的所有完全数 public class j215p
43、ublic static void main(String arg)int i,j,sum;/定义变量定义变量for(i=1;i1000;i+)sum=0;for(j=1;ji;j+)if(i%j=0)sum=sum+j;/因子累加因子累加if(sum=i)/判定是否为完全数判定是否为完全数System.out.print(i+t);System.out.println();57跳转语句nbreak语句nbreak语句用以中断当前执行的循环语句(for、do-while、while)或switch语句n两种形式n不带标号的break语句n表达形式:break;n从本层循环中跳出n带标号的bre
44、ak语句n表达形式:n从整个程序块中跳出标号:程序块(break 标号;)若只有一层循环,带标号和不带标号作用相同若存在循环嵌套,两者作用不同Java语言基础58例例2.16计算计算 3 的的 60 次方。次方。public class Example2_16 public static void main(String args)int i,n=60;long result=1;for(i=1;i=Integer.MAX_VALUE)break;if(i=n+1)System.out.println(3 的的+n+次方为:次方为:+result);ElseSystem.out.println
45、(超出了整数范围超出了整数范围);超出了整数范围超出了整数范围59n带标号的break语句class Test public static void main(String args)int j,k;Rep:for(j=8;j 1;j-)for(k=1;k=9;k+)if(k=5)break;if(j=6)break Rep;System.out.print(j*k+“”);System.out.println(“”);跳转语句8 16 24 32 7 14 21 28 若只有一层循环,带标号和不带标号作用相同若存在循环嵌套,两者作用不同60跳转语句ncontinue语句ncontinue语句
46、用以结束循环语句(for、do-while、while)的本次循环n两种形式n不带标号的continue语句n表达形式:continue;n结束本次循环,即跳过continue语句后的语句,返回至本层循环体的条件测试部分n带标号的continue语句n表达形式:n跳至标号所指语句块的条件测试部分继续执行n注意与break语句的比较标号:程序块(continue 标号;)若只有一层循环,带标号和不带标号作用相同若存在循环嵌套,两者作用不同Java语言基础61例例2.17求自然数求自然数 1 至至 99 中所有奇数的和。中所有奇数的和。public class Example217 public
47、static void main(String args)int sum=0,i;for(i=1;i=99;+i)if(i%2=0)continue;sum+=i;System.out.println(sum);2500Java语言基础62例例2.18 2.18 输出输出 200 200 以内的所有素数的程序就使用了带标以内的所有素数的程序就使用了带标号的号的 continue continue 语句语句:import java.io.*;public class Sushu public static void main(String args)A1:for(int i=2;i=200;i+
48、)for(int j=2;j i;j+)if(i%j=0)continue A1;System.out.print(i+);课堂练习课堂练习1:1:写出程序的运行结果写出程序的运行结果import java.io.IOException;public class Test public static void main(String args)throws IOException System.out.println(please enter number);int b=0;while(true)b=System.in.read();if(b=n|b=r)break;else int num=
49、b-0;System.out.println(num);n输入:输入:123 n输出:输出:Java语言基础64课堂练习课堂练习2:求求2100的素数,每行打印的素数,每行打印5个数字个数字import java.io.*;public class prime public static void main(String args)First_Loop:for(int i=2,k=0;i100;i+)for(int j=2;j=Math.sqrt(i);j+)if(i%j=0)continue First_Loop;System.out.print(i+t);k+;if(k%5=0)Syste
50、m.out.println();/for/main/classJava语言基础652.4 数组数组2.4.1什么是数组 数组是一组类型相同、名字相同的数据的总称,数组中的每个数据称为一个数组元素。Java语言基础662.4.2 一维数组一维数组在在JavaJava语言中,使用数组一般步骤:语言中,使用数组一般步骤:数组定义、分配内存、赋值。数组定义、分配内存、赋值。1 1定义数组定义数组形式有两种:形式有两种:数组元素类型数组元素类型 数组名数组名 ;数组元素类型数组元素类型 数组名;数组名;例如:例如:int student;int student;注意注意:n类型是数组中元素的数据类型类型