Java循环基础
2016-03-17 16:27
591 查看
IMOOC JAVA第一季
第二天学习笔记
for 循环变量初始化和循环变量部分,可以初始化多个变量,同事初始化和改变多个变量的值。for (循环变量;循环条件;循环变量变化){ 循环操作}
for(int i=1,j=5; i<5;ji++,j--;){ System.out.println(i + "+" + j + "(i + j)"); }
可以省略循环变量变化,把循环变量变化写在循环体中。
3.表示i<10,但是不等于5才进行循环
for (int i=1; i < 10 && i !=5;i++){ System.out.println(i); }
Question:计算1到100之间不能被3整除的数的和?
思路:定义一个变量sum来保存数据和,定义一个变量i代表1-100之间的数据。值从1开始,通过for循环判断i是否是3的倍数,符合要求的数据保存到sum中。
public class HelloWorld { public static void main(String[] args) { int sum = 0; // 保存不能被3整除的数之和 // 循环变量 i 初始值为 1 ,每执行一次对变量加 1,只要小于等于 100 就重复执行循环 for (int i = 1; i<=100 ; i++ ) { // 变量 i 与 3 进行求模(取余),如果不等于 0 ,则表示不能被 3 整除 if (i % 3 != 0) { sum = sum + i; // 累加求和 } } System.out.println("1到100之间不能被3整除的数之和为:" + sum); } }
output:
1到100之间不能被3整除的数之和为:3367
Question:使用循环输出 1–10的数值,其中,如果数值大于 2 ,并且为 3 的倍数则停止输出。
public class HelloWorld{ public static void main(String[] args){ int i=1; for(i=1; i < 10; i++){ if(i>2 && i % 3 ==0){ break; } System.out.println(i); } System.out.println("结束了"); } }
output:
1
2
结束了
Question:循环将 1 到 10 之间的整数相加,如果累加值大于 20,则跳出循环,并输出当前的累加值。
public class HelloWorld{ public static void main(String[] args){ int i=1; int sum = 0; //保存当前累加值 for(i=1; i < 10; i++){ sum = sum + i; // 累加求和 // 判断累加值是否大于20,如果满足则退出循环 if(sum>=20 ){ System.out.println("当前累加值为"+sum); break; } } System.out.println("结束了"); } }
Java循环跳转语句之 continue
continue的作用是跳过循环体中剩余语句进行下一次循环。
例如,打印 1–10 之间所有的偶数,使用 continue 语句实现代码为:
for(int i =0;i<10;i++){ // 判断i是否为偶数 if(i % 2==0){ continue; // 通过continue结束本次循环 } System.out.println(i); }
Question:求 1 到 10 之间的所有偶数的和
public class HelloWorld { public static void main(String[] args) { int sum = 0; // 保存累加值 for (int i = 1; i <= 10; i++) { // 如果i为奇数,结束本次循环,进行下一次循环 if ( i % 2 !=0 ) { continue; } sum = sum + i; } System.out.print("1到10之间的所有偶数的和为:" + sum); } }
Java 循环语句之多重循环
Question:使用 * 打印长方形
// 外城循环控制行数 for (int i = 1; i <= 3; i++){ // 内层循环控制每行打印的*号数 for (int j = 1; j < = 8; j++){ System.out.println("*"); } //每行打印完毕 System.out.println(); }
Question:使用 * 打印直角三角形
public class HelloWorld { public static void main(String[] args) { System.out.println("打印直角三角形"); // 外层循环控制行数 for (int i = 1; i<=3;i++ ) { // 内层循环控制每行的*号数 // 内层循环变量的最大值和外层循环变量的值相等 for (int j = 1;j<=i;j++ ) { System.out.print("*"); } // 每打印完一行后进行换行 System.out.println(); } } }
Question:判断一个数(小于10位)的位数
方法1
public class HelloWorld{ public static void main(String[] args){ int num = 999; int count = 0; if(num >= 0 && num<= 999999999){ while(num!=0) { /*num的值是999,count=0,所以num/10第一次的值为99.9,去小数位得到整数99,此时count++得到值为1;num又第二次循环时的值为99,带入执行,num/10=9.9,去除小数位,此时count++,值为2;num第三次带入值循环时值为9,带入执行,num/10的值为0.9,去小数位得到值为0,此时count++,count值为3;进入第四次循环时,num的值为0,不满足循环条件,所以循环终止,最后得到count为3*/ count++; num/=10; } System.out.println("它是个"+count+"位的数!"); } else{ System.out.println("输入有误!"); } } }
/** * * @author henrytien@hotmail.com */ public class countNumber { final static int[] sizeTable = { 9,99,999,9999,99999,999999,9999999,99999999,999999999, Integer.MAX_VALUE }; static int sizeOfInt(int x){ for(int i = 0;;i++){ if (x <= sizeTable[i]) return i + 1; } } /** * * @param args */ public static void main(String[] args){ System.out.println(sizeOfInt(1234)); System.out.println(sizeOfInt(123)); System.out.println(sizeOfInt(12345)); System.out.println(sizeOfInt(12)); } }
output:
4
3
5
2
BUILD SUCCESSFUL (total time: 0 seconds)
debug:中间漏了一个括号,还是不够细心呢。
Q:为指定成绩加分,直到分数大于等于 60 为止,输出加分前和加分后的成绩,并统计加分的次数
public class HelloWorld { public static void main(String[] args) { // 变量保存成绩 int score = 53; // 变量保存加分次数 int count = 0; //打印输出加分前成绩 System.out.println("加分前成绩:"+ score); // 只要成绩小于60,就循环执行加分操作,并统计加分次数 while(score<60){ count++; score ++; } //打印输出加分后成绩,以及加分次数 System.out.println("加分后成绩:"+ score); System.out.println("共加了"+ count + "次!"); } }
output:
加分前成绩:53
加分后成绩:60
共加了7次!
提高,用户输入整数成绩信息
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * * @author henrytien@hotmail.com * 功能:实现用户输入分数低于60分执行加分操作,并统计加分次数,每次只加一分 * 实现:定义一个变量score保存分数信息,count用于保存加分次数 */ import java.util.Scanner; public class HelloWorld { public static void main(String args[]){ // 使用scanner方法 Scanner input = new Scanner(System.in); // 创建scanner对象 System.out.print("请您输入考试成绩:"); // 获取用户输入的信息 int score= input.nextInt(); int count = 0; //定义加分次数 System.out.println("加分前成绩:"+ score); while(score<60){ score++; count++; } System.out.println("加分后成绩:"+ score); System.out.println("加分次数为"+count + "次!"); } }
output:
run:
请您输入考试成绩:12
加分前成绩:12
加分后成绩:60
加分次数为48次!
BUILD SUCCESSFUL (total time: 6 seconds)
读取键盘输入
Scanner input = new Scanner(System.in); //创建scannner对象 int score = input.nextInt();
相关文章推荐
- 【编程工具】MyEclipse中的常用快捷键
- spring mvc3 静态文件放在WEB-INF下无法访问解决和解决@Controller失效问题
- 学习之spring属性文件注入
- Java流操作之转换流
- SpringMVC的拦截器Interceptor
- SpringMVC中的DispatcherServlet详解
- 【编程语言】Struts2 中 iterator 标签的用法
- 从java多线程内存模型说到ConcurrentHashMap
- Java JUC之Atomic系列12大类实例讲解和原理分解
- Java Collection
- Struts 上传和下载功能
- Java对象结构及大小计算
- Struts2 Convention 系列 1
- Java的类加载机制
- Maven包引用出现重复包,去重复包3种方法(javassist)
- Eclipse 启动不了 一闪而过
- 学习之spring自带缓存
- 将Eclipse中的项目,添加到GitHub上
- java获取文件md5码
- Java对象分配简要流程