java流程控制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java流程控制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3878字,纯文字阅读大概需要6分钟。
内容图文
![java流程控制](/upload/InfoBanner/zyjiaocheng/614/eae88d5f7a584c4883e1764ba5ff2e9e.jpg)
Java流程控制
Scanner对象
基本语法
import java.util.Scanner; //调用包
Scanner scanner = new Scanner(System.in); //输入字符串
String str = null;
if(scanner.hasNext()){
System.out.println("用next输入:");
str = scanner.next();
System.out.println("输出的内容为:"+str);
}
if(scanner.hasNextLine()){
System.out.println("用nextLine输入:");
str = scanner.nexetLine();
System.out.println("输出的内容为:"+str);
}
scanner.close();
- next()
- 读到有效字符后才能结束输入
- 输入到有效字符后,之后输入的将空白符号作为分隔符,遇见结束符停止输入
- 无法获得空格符号
- nextLine()
- enter作为结束符
- 与next()不同,可以接受空白符号
Scanner scanner = new Scanner(System.in);
double sum = 0;
int m = 0;
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
m ++ ;
sum = sum + x;
}
System.out.println(m + "个数的和为" + sum);
System.out.println(m + "个数的平均值是" + (sum / m));
输入double类型数据,直到不是double类型数据为止
顺序结构
- 顺序结构是最基本的结构
选择结构
- if单选择结构
if(boolean){
......
}
- if双选择结构
if(boolean){
......
}else{
......
}
- if多选择结构
if(boolean){
......
}else if{
......
}else if{
......
}
......
- if嵌套结构
if(boolean){
if(boolean){
......
}
......
}
- switch选择结构
int mark = 0;
char grade = 'C';
Scanner scanner = new Scanner(System.in);
switch(grade){
case 'A':
System.out.println("优秀"); break;
case 'B':
System.out.println("良好"); break;
case 'C':
System.out.println("及格"); break;
case 'D':
System.out.println("再接再厉"); break;
case 'E':
System.out.println("挂科"); break;
default:
System.out.println("未知等级"); break;
}
可以接受byte,short,int,char类型
switch从SE 7开始支持String 类型
case标签必须为字符串常量阔这字面量
case执行的语句需要接break,不然会有穿透现象
可以使用default执行其他情况
反编译
编译:java文件>>class字节码文件
反编译:class字节码文件>>java文件
将带有switch的java文件生成的class文件反编译,会有switch(object.hasCode())
说明switch是根据哈希码来判断
每个对象都有一个哈希码
循环
while
int i = 0 ;
while(i<10) {
System.out.println(i);
i ++; //如果这条就是无线循环
}
while(flag)
falg如果为true则继续循环,如果为false则跳出
// 1+2+3+...+100
int i = 1 ;
int sum = 0 ;
while(i<=100) {
sum += i;
i ++;
}
System.out.println(sum);
do...while
do {
...
}while(boolean);
- 特性
- 先判断,后执行
- boolean为真继续循环,否则终止
// 1+2+3+...+100
int i = 0;
int sum = 0;
do {
i++;
sum += i;
}while(i<100);
System.out.println(sum);
for
syntax
for(初始化;布尔表达式;更新){
...... //代码块
}
先执行初始化
初始化只执行一次
后判断布尔表达式
执行代码块
执行更新
再次判断布尔表达式
初始化>>布尔表达式>>代码块>>更新>>布尔表达式>>...>>布尔表达式为假>>结束循环
for与if结合使用
//求100以内奇数odd与偶数even的和
int oddSum = 0;
int evenSum = 0;
for (int i = 0; i<=100 ; i++) {
if (i%2!=0){
oddSum += i;
}
else {
evenSum += i;
}
}
System.out.println("oddSum = " + oddSum);
System.out.println("evenSum = " + evenSum);
双重循环
//打印乘法口诀表
for (int a=1 ; a<10 ; a++) {
for (int b = 1 ; b <= a ; b ++ ) {
System.out.print(a);
System.out.print("*");
System.out.print(b);
System.out.print("=");
System.out.print(a*b);
System.out.print("\t"); //用制表符调整间距
}
System.out.println(); //实现换行
}
增强型for
syntax
for(声明语句 : 表达式) {
...... //代码块
}
Example
int[] numbers = {10,20,30,40,50}; //定义个数组
for( int i = 0; i<numbers.length ; i++){ //常规输出
System.out.println(numbers[i]);
}
for( int x:numbers) { //增强型for输出
System.out.println(x);
}
number.length可以获取数组的长度
这里相当于i<5
break
在循环体中,跳出该循环
一般与if搭配使用
continue
在循环体中,跳过continue后面的语句
一般与if搭配
goto
int count = 0;
outer:for (int i=101; i<150; i++) {
for (int j=2 ; j<=Math.sqrt(i) ; j++) {
if (i%j == 0) {
continue outer;
}
}
System.out.print(i);
System.out.print("\t");
}
打印三角形
例一
//print triangle
int lines = 8;
for (int line = 1;line <= lines ; line ++) {
for ( int whitespaces = 0 ; whitespaces < lines-line ; whitespaces ++) {
System.out.print(" ");
}
for (int several = 1; several <= 2 * line - 1; several ++) {
System.out.print("*");
}
System.out.println();
}
内容总结
以上是互联网集市为您收集整理的java流程控制全部内容,希望文章能够帮你解决java流程控制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。