Scanner对象
Scanner s = new Scanner(syster.in)
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
next():
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符前的空白,next()方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符
nextLine():
- 以Enter为结束符,nextLine()方法返回的是输入回车前的所有字符
- 可以获得空白。
代码演示在 package Rhodes.Ceobe.sanner; Dem01-Dem04
顺序结构
Java的基本结构就是顺序结构,按照顺序从上到下一句一句执行
选择结构
if单选择结构
判断一个东西是否可行,之后再执行,这样的过程在程序中用if语句来表示
if双选择结构
if
else
if多选择结构
if
else if
else if
else
嵌套的if结构
套娃,使劲套娃
if
else if
if
else if
if
if
else
switch多选择结构
char grade='C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("优秀2");
break;
case 'C':
System.out.println("优秀3");
break;
case 'D':
System.out.println("优秀4");
break;
case 'E':
System.out.println("优秀5");
break;
default:
System.out.println("未知");}
不加上break会产生case穿透,会输出优秀3,优秀4,优秀5,未知
shift+tab取消缩进
JDK7的新特性,表达式可以是字符串
循环结构
while循环
//计算1+2+3+...+100
int i=0;
int sum=0;
while (i<=100){
sum=sum+i;
i++;
}
System.out.println(sum);
do…while循环
while语句如果不满足条件就不会循环,do…while即使不满足条件也至少会运行一次
whlie先判断后执行,do…while先执行后判断
for循环
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构
for循环执行的次数是在执行前就决定的
100.for 智能生成
for (int i1 = 0; i1 < 100; i1++) {
}
练习1
计算1-100之和
package Rhodes.Ceobe.struct;
public class ForDem02 {
public static void main(String[] args) {
//计算0-100之间偶数、奇数的和
int oddSum=0;
int evenSum=0;
for (int i = 0; i < 100; i++) {
if (i%2!=0)//i除以2是否等于0,判断是否为奇数
{
oddSum+=i;
}else{
evenSum+=i;
}
}
System.out.println("奇数的和"+oddSum);
System.out.println("偶数的和"+evenSum);
}
}
练习2
用while或者for循环输出1-1000之间能被5整除的数,并且每行输出3个
for方法
for (int i = 0; i <= 1000; i++) {
if (i%5==0&&i!=0){
System.out.print(i+"\t");//"\t"表示空格
}
if (i%(5*3)==0&&i!=0){//换行
//println输出完会换行
//print输出完会不换行
System.out.println();
//System.out.print("\n");
}
}
while方法
int i=0;
while (i<=1000){
if (i%5==0&&i!=0){
System.out.print(i+"\t");//"\t"表示空格
}if (i%(5*3)==0&&i!=0){//换行
//println输出完会换行
//print输出完会不换行
System.out.println();
//System.out.print("\n");
}
i++;
}
练习3
九九乘法表
for (int y = 1; y < 10; y++) {
for (int x=1;x<=y;x++){
System.out.print(x+"*"+y+"="+x*y+"\t");
}System.out.println();
}
}
break和continue
beaak用于强制退出循环,不执行剩余的语句
continue用于终止某一次循环,既跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
辞职与矿工的区别
打印三角形
{
//打印三角形 5行
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >=i ; j--) {
System.out.print(" ");
}
for (int j = 1; j <=i ; j++) {
System.out.print("*");
}
for (int j = 1; j <i ; j++) {
System.out.print("*");
}
System.out.println();
}
}