java基础知识总结2三种常见的结构
2017-03-04 14:46
489 查看
任何程序都是由顺序结构 选择结构 循环结构
顺序结构 常见的结构
选择结构(单选择结构 双选择结构 多选择结构)
1单选择结构--if语句
if(条件)
{
//语句
}
if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句
{
double i = 6 * Math.random();
double j = 6 * Math.random();
double k = 6 * Math.random();
int count = (int) (i + j + k);
if(count > 15)
{
System.out.println("今天手气不错");
}
if(count >= 10 && count <= 15)
{ //错误写法:10<count<15
System.out.println("今天手气很一般");
}
if(count < 10)
{
System.out.println("今天手气不怎么样");
}
System.out.println("得了" + count + "分");
}
注 if语句后最好加上括号 只有一句可以不加
Math类的使用:
int i = (int) (6 * Math.random()); //产生:[0,5]
2双选择结构if--else语句当条件表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。
if(条件)//满足条件执行语句1
{
//语句1
}
else //不满足条件执行语句2
{
//语句2
}
{
double r = 4 * Math.random();
double area = Math.PI * Math.pow(r, 2);
double circle = 2 * Math.PI * r;
System.out.println("半径为: " + r);
System.out.println("面积为: " + area);
System.out.println("周长为: " + circle);
if(area >= circle) {
System.out.println("面积大于等于周长");
} else {
System.out.println("周长大于面积");
}
3多选择结构--If-elseif-else逐条if语句进行判断,条件匹配,进入语句体
否则对if语句继续匹配
if(布尔表达式1)
{
语句块1;
}
else if(布尔表达式2)
{
语句块2;
}………
else if(布尔表达式n)
{
语句块n;
}
else
{
语句块n+1;
}
public class Test
{
public static void main(String[] args)
{
int age = (int) (100 * Math.random());
System.out.print("年龄是" + age + ", 属于");
if (age < 15)
{
System.out.println("儿童, 喜欢玩!");
}
else if (age < 25)
{
System.out.println("青年, 要学习!");
}
else if (age < 45)
{
System.out.pri
4000
ntln("中年, 要工作!");
}
else if (age < 65)
{
System.out.println("中老年, 要补钙!");
}
else if (age < 85)
{
System.out.println("老年, 多运动!");
}
else
{
System.out.println("老寿星, 古来稀!");
}
}
}
4多选择结构--switch语句
根据表达式值的不同执行许多不同的操作
Switch语句:case标签必须是整数(byte,short,char,int)或者枚举,JDK7的新特性,
表达式结果可以是字符串!!!
根据表达式的值,从一系列代码选出一段执行。格式如下:
switch (表达式)
{
case 值1:
语句序列;
break;
case 值2:
语句序列;
break;
default:
默认语句;
}
switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。与任一case值不匹配,则进入default语句(如果有的话)
public class Test
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("请输入你的成绩");
int xz = in.nextTnt();
switch(xz)
{
case 1:
{
System.out.print("优秀");
break;//如果取消break则会出现case穿透现象
}
case 2:
{
System.out.print("优秀");
break;
}
case 3:
{
System.out.print("优秀");
break;
}
}
}
循环结构
While循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,
都会在开始前重新计算一次。
while (布尔表达式)
{
循环体;
}
public class WhileTest {
public static void main(String[] args) {
int i = 0;
int sum = 0;
while (i <= 100) { // 1+2+3+…+100=?
sum += i; //sum = sum+i;
i++;
}
System.out.println("Sum= " + sum);
}
}
Do-while循环(用的很少,了解!!)基本格式:
do
{
循环体;
} while(布尔表达式) ;
do-while循环说明
1. 先执行循环体
2. 后判断布尔表达式
3. 循环体至少执行一次
public class Test {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum += i; // sum = sum + i
i++;
} while (i <= 100);
System.out.println("Sum= " + sum);
}
}
While和do-While的区别:
while先判断后执行。dowhile是先执行后判断!
Dowhile总是保证循环体会被至少执行一次!这是他们的主要差别。
For循环for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构,语法形式 :
for (初始表达式;布尔表达式;步进)
{
循环体;
}
1.初始化部分设置循环变量的初值
2.条件判断部分为任意布尔表达式
3.迭代因子控制循环变量的增减
注意for循环在执行条件测试后,先执行程序部分,再执行步进。
public class TestWhileFor02
{//打印九九乘法表
public static void main(String[] args)
{
for (int m = 1; m <= 9; m++)
{
for (int i = 1; i <= m; i++)
{
System.out.print(i + "*" + m + "=" + (i * m) + "\t");
}
System.out.println();
}
}
}
public class Test {
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){
oddSum += i;
}else{
evenSum += i;
}
}
System.out.println("奇数的和:"+oddSum);
System.out.println("偶数的和:"+evenSum);
System.out.println("#########################");
//用while和for循环输出1-1000之间能被5整除的数,并且每行输出3个
for(int j = 1;j<=1000;j++){
if(j%5==0){
System.out.print(j+"\t");
}
if(j%(5*3)==0){
System.out.println();
}
}
}
}
break语句
? 在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
//循环输出随机数,直到输出88为止!
public class BreakTest {
public static void main(String[] args) {
int total = 0;
System.out.println("Begin");
while (true) {
total++;
int i = (int) Math.round(100 * Math.random());
if (i == 88)
break;
}
System.out.println("Game over, used " + total + " times.");
}
}
两种常见的语句
continue语句
? continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
//把100~150之间不能被3整除的数输出:
public class ContinueTest {
public static void main(String[] args) {
for (int i = 100; i < 150; i++) {
if (i % 3 == 0)
continue;
System.out.println(i);
}
}
}
带标签的break和continue语句
(了解即可)
1. goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。
2. “标签”是指后面跟一个冒号的标识符,例如:label:
3. 对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
4. 带标签的break和continue的例子:
public class PrimeNumber { //打印101-150之间所有的质数
public static void main(String args[]) {
int count = 0;
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+ " ");
}
}
}
顺序结构 常见的结构
选择结构(单选择结构 双选择结构 多选择结构)
1单选择结构--if语句
if(条件)
{
//语句
}
if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句
{
double i = 6 * Math.random();
double j = 6 * Math.random();
double k = 6 * Math.random();
int count = (int) (i + j + k);
if(count > 15)
{
System.out.println("今天手气不错");
}
if(count >= 10 && count <= 15)
{ //错误写法:10<count<15
System.out.println("今天手气很一般");
}
if(count < 10)
{
System.out.println("今天手气不怎么样");
}
System.out.println("得了" + count + "分");
}
注 if语句后最好加上括号 只有一句可以不加
Math类的使用:
int i = (int) (6 * Math.random()); //产生:[0,5]
2双选择结构if--else语句当条件表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。
if(条件)//满足条件执行语句1
{
//语句1
}
else //不满足条件执行语句2
{
//语句2
}
{
double r = 4 * Math.random();
double area = Math.PI * Math.pow(r, 2);
double circle = 2 * Math.PI * r;
System.out.println("半径为: " + r);
System.out.println("面积为: " + area);
System.out.println("周长为: " + circle);
if(area >= circle) {
System.out.println("面积大于等于周长");
} else {
System.out.println("周长大于面积");
}
3多选择结构--If-elseif-else逐条if语句进行判断,条件匹配,进入语句体
否则对if语句继续匹配
if(布尔表达式1)
{
语句块1;
}
else if(布尔表达式2)
{
语句块2;
}………
else if(布尔表达式n)
{
语句块n;
}
else
{
语句块n+1;
}
public class Test
{
public static void main(String[] args)
{
int age = (int) (100 * Math.random());
System.out.print("年龄是" + age + ", 属于");
if (age < 15)
{
System.out.println("儿童, 喜欢玩!");
}
else if (age < 25)
{
System.out.println("青年, 要学习!");
}
else if (age < 45)
{
System.out.pri
4000
ntln("中年, 要工作!");
}
else if (age < 65)
{
System.out.println("中老年, 要补钙!");
}
else if (age < 85)
{
System.out.println("老年, 多运动!");
}
else
{
System.out.println("老寿星, 古来稀!");
}
}
}
4多选择结构--switch语句
根据表达式值的不同执行许多不同的操作
Switch语句:case标签必须是整数(byte,short,char,int)或者枚举,JDK7的新特性,
表达式结果可以是字符串!!!
根据表达式的值,从一系列代码选出一段执行。格式如下:
switch (表达式)
{
case 值1:
语句序列;
break;
case 值2:
语句序列;
break;
default:
默认语句;
}
switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。与任一case值不匹配,则进入default语句(如果有的话)
public class Test
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("请输入你的成绩");
int xz = in.nextTnt();
switch(xz)
{
case 1:
{
System.out.print("优秀");
break;//如果取消break则会出现case穿透现象
}
case 2:
{
System.out.print("优秀");
break;
}
case 3:
{
System.out.print("优秀");
break;
}
}
}
循环结构
While循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,
都会在开始前重新计算一次。
while (布尔表达式)
{
循环体;
}
public class WhileTest {
public static void main(String[] args) {
int i = 0;
int sum = 0;
while (i <= 100) { // 1+2+3+…+100=?
sum += i; //sum = sum+i;
i++;
}
System.out.println("Sum= " + sum);
}
}
Do-while循环(用的很少,了解!!)基本格式:
do
{
循环体;
} while(布尔表达式) ;
do-while循环说明
1. 先执行循环体
2. 后判断布尔表达式
3. 循环体至少执行一次
public class Test {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum += i; // sum = sum + i
i++;
} while (i <= 100);
System.out.println("Sum= " + sum);
}
}
While和do-While的区别:
while先判断后执行。dowhile是先执行后判断!
Dowhile总是保证循环体会被至少执行一次!这是他们的主要差别。
For循环for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构,语法形式 :
for (初始表达式;布尔表达式;步进)
{
循环体;
}
1.初始化部分设置循环变量的初值
2.条件判断部分为任意布尔表达式
3.迭代因子控制循环变量的增减
注意for循环在执行条件测试后,先执行程序部分,再执行步进。
public class TestWhileFor02
{//打印九九乘法表
public static void main(String[] args)
{
for (int m = 1; m <= 9; m++)
{
for (int i = 1; i <= m; i++)
{
System.out.print(i + "*" + m + "=" + (i * m) + "\t");
}
System.out.println();
}
}
}
public class Test {
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){
oddSum += i;
}else{
evenSum += i;
}
}
System.out.println("奇数的和:"+oddSum);
System.out.println("偶数的和:"+evenSum);
System.out.println("#########################");
//用while和for循环输出1-1000之间能被5整除的数,并且每行输出3个
for(int j = 1;j<=1000;j++){
if(j%5==0){
System.out.print(j+"\t");
}
if(j%(5*3)==0){
System.out.println();
}
}
}
}
break语句
? 在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
//循环输出随机数,直到输出88为止!
public class BreakTest {
public static void main(String[] args) {
int total = 0;
System.out.println("Begin");
while (true) {
total++;
int i = (int) Math.round(100 * Math.random());
if (i == 88)
break;
}
System.out.println("Game over, used " + total + " times.");
}
}
两种常见的语句
continue语句
? continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
//把100~150之间不能被3整除的数输出:
public class ContinueTest {
public static void main(String[] args) {
for (int i = 100; i < 150; i++) {
if (i % 3 == 0)
continue;
System.out.println(i);
}
}
}
带标签的break和continue语句
(了解即可)
1. goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。
2. “标签”是指后面跟一个冒号的标识符,例如:label:
3. 对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
4. 带标签的break和continue的例子:
public class PrimeNumber { //打印101-150之间所有的质数
public static void main(String args[]) {
int count = 0;
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+ " ");
}
}
}
相关文章推荐
- Java基础知识之常见关键字以及概念总结
- Java基础知识强化之集合框架笔记74:各种集合常见功能 和 遍历方式总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA基础知识精华总结
- JAVA功底之基础知识精华总结 (各类修饰符)
- JAVA基础知识精华总结
- JAVA基础知识精华总结[转帖]
- JAVA基础知识精华总结