Scanner
通过scanner类来获取用户输入 基本语法 Scanner s = new Scanner(System.in);
使用Scanner类的next()与nextline()获取输入数据 在读取前使用hasNext()与hasNextLine()判断是否还有输入数据 凡是属于IO流的类如果不关闭会一直占用资源scanner.close();
next(): 1.不能得到带有空格的字符串 2.有效字符之前的空白忽视 3.只有输入有效字符后才将其后面输入的空白作为分隔符或结束符 nextLine(): 1.以Enter作为结束符 2.可以获得空白
/*练习
输入多个数字,求其总和与平均数,
每输入一个数字用回车确认,
输入非数字结束并输出结果*/
Scanner scanner = new Scanner( System.in) ;
//和
double sum = 0 ;
//计算输入了多少数字
int m = 0 ;
System.out.println( "请输入数据:" ) ;
//通过循环判断是否还有输入,
//并在里面对每一次进行求和统计
while( scanner.hasNextDouble( )) {
double v = scanner.nextDouble( ) ;
//m = m+1;
m++;
sum = sum+v;
}
System.out.println( m+"个数的和为" +sum) ;
System.out.println( m+"个数的平均数为" +( sum/m)) ;
scanner.close( ) ;
swich
swich匹配一个具体的值 case具有穿透性,加上break;
反编译
反编译 Java----class(字节码文件)----反编译(IDEA) show in exploder->将class文件拖入
for循环
print不换行,加\t 制表符 println()换行
//打印99乘法表
for ( int j = 1 ; j < = 9 ; j++) {
for ( int i = 1 ; i < = j; i++) {
System.out.print( i+"*" +j+"=" +( j*i) +"\t " ) ;
}
System.out.println( ) ;
//1-1000之间能被5整除的数
for ( int i = 1 ; i < = 1000 ; i++) {
int b = 0 ;
if( i%5== 0 ) {
System.out.print( i+"\t " ) ;
}
//每3个换行
if( i%( 5 *3) == 0 ) {
System.out.println( "\n " ) ;
增强for循环
break和continue
break在任何循环语句的主体部分,均可用break强行退出循环,不执行循环中剩余的语句 continue用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
int w = 0 ;
while( w< 100 ) {
w++;
System.out.print( w+"\t " ) ;
if ( w== 5 ) {
break ;
//1 2 3 4 5
int n = 0 ;
while( n< 25 ) {
n++;
if ( n%3== 0 ) {
System.out.println( ) ;
continue ;
}
System.out.print( n+"\t " ) ;
/* 1 2
4 5
*/
标签
outer:for ( int i = 101 ; i< = 150 ; i++) {
for ( int j = 2 ; j< i/2; j++) {
if( i%j== 0 ) {
continue outer;
}
}
System.out.print( i+" " ) ;