赞
踩
(✿◡‿◡)给位,你说我设置一个粉丝可见怎么样,哈哈哈,o(* ̄▽ ̄*)ブ(当然是不会的)
Java if语句用于根据条件执行一个代码块。
下面是Java if语句的最简单形式:
- if(condition)
- statement;
condition
是一个布尔表达式。如果 condition
是 true
那么执行语句
。
如果 condition
是 false
,那么绕过语句
。
以下代码根据an的值输出消息整数。 它使用if语句来执行检查。
- public class Main {
-
- public static void main(String args[]) {
- int num = 99;
- if (num < 100) {
- System.out.println("num is less than 100");
-
- }
- }
- }
此程序生成的输出如下所示:
If语句经常用于比较两个变量。下面的代码定义了两个变量, x
和 y
,它使用if语句来比较它们并打印出消息。
- public class Main {
-
- public static void main(String args[]) {
- int x, y;
-
- x = 10;
- y = 20;
-
- if (x < y){
- System.out.println("x is less than y");
- }
-
- x = x * 2;
- if (x == y){
- System.out.println("x now equal to y");
- }
-
- x = x * 2;
- if (x > y){
- System.out.println("x now greater than y");
- }
-
- if (x == y){
- System.out.println("===");
- }
- }
- }
此程序生成的输出如下所示:
我们还可以使用布尔值来控制if语句。boolean
变量的值足以控制if语句。
- public class Main {
- public static void main(String args[]) {
- boolean b;
- b = false;
- if (b) {
- System.out.println("This is executed.");
- } else {
- System.out.println("This is NOT executed.");
- }
-
- }
- }
没有必要写如下的 if
语句:
if(b == true) ...
此程序生成的输出如下所示:
if
语句是条件分支语句。我们可以在if语句中添加else语句。
这里是 if-else
语句的一般形式:
- if (condition)
- statement1;
- else
- statement2;
else
子句是可选的。 每个语句可以是单个语句或复合语句用花括号括起来(一个块)。 只有一个语句可以直接出现在 if
或 else
之后。要包含更多语句,您需要创建一个块,如在这个片段中。
以下示例显示如何使用Java if else
语句。
-
- public class Main {
- public static void main(String[] argv) {
- int i = 1;
-
- if (i > 0) {
- System.out.println("Here");
- i -= 1;
-
- } else
- System.out.println("There");
- }
- }
- ]]>
输出:
在使用 if
语句时包含花括号是很好的,即使每个子句中只有一个语句。
if else梯形语句用于在多个条件下工作。
if-else-if梯形如下:
- if(condition)
- statement;
- else if(condition)
- statement;
- else if(condition)
- statement;
- .
- .
- else
- statement;
这里是一个使用 if-else-if
梯形图的程序。
-
- public class Main {
- public static void main(String args[]) {
- int month = 4;
- String value;
- if (month == 1 )
- value = "A";
- else if (month == 2)
- value = "B";
- else if (month == 3)
- value = "C";
- else if (month == 4)
- value = "D";
- else
- value = "Error";
-
- System.out.println("value = " + value);
- }
- }
下面是程序产生的输出:
嵌套 if
是 if
语句在另一个if
语句或 else
。
以下代码使用嵌套if语句来比较值。
-
- public class Main {
- public static void main(String[] argv) {
- int i = 10;
- int j = 4;
- int k = 200;
- int a = 3;
- int b = 5;
- int c = 0;
- int d =0;
- if (i == 10) {
- if (j < 20){
- a = b;
- }
- if (k > 100){
- c = d;
- }
- else{
- a = c;
- }
- } else{
- a = d;
- }
- System.out.println("a = " + a);
- System.out.println("b = " + b);
- System.out.println("c = " + c);
- System.out.println("d = " + d);
-
- }
- }
输出:
Java for
循环语句提供了一种强大的写循环语句的方法。
for循环的最简单形式如下所示:
for(initialization; condition; iteration) statement;
Java for循环语句有三个部分:
condition
是测试循环控制变量的布尔表达式。 如果condition为true,for循环继续迭代。 如果condition为false,循环终止。这里是一个简短的程序,说明了for循环。 i
是循环控制变量, i
被初始化为零初始化。在每次迭代的开始,条件测试 x 10
。如果该测试的结果为真,则执行 println()
语句,然后执行循环的迭代部分。此过程继续,直到条件测试为 false
。
public class Main { public static void main(String args[]) { int i; for (i = 0; i < 10; i = i + 1) System.out.println("This is i: " + i); } }
此程序生成以下输出:
下面的代码再次从上面写入代码逻辑,但是循环反转:
public class Main { public static void main(String args[]) { for (int n = 10; n > 0; n--) System.out.println("n:" + n); } } ]]>
输出:
这里是一个程序,使用 for
循环语句测试素数。
public class Main { public static void main(String args[]) { int num; boolean isPrime = true; num = 50; for (int i = 2; i <= num / 2; i++) { if ((num % i) == 0) { isPrime = false; break; } } if (isPrime) System.out.println("Prime"); else System.out.println("Not Prime"); } }
输出:
Java允许两个或多个变量控制 for
循环。并且可以在初始化和迭代部分中包含多个语句 for
循环。每个语句通过逗号与下一个语句分隔。这里是一个例子:
public class Main { public static void main(String args[]) { for (int a = 1, b = 4; a < b; a++, b--) { System.out.println("a = " + a); System.out.println("b = " + b); } } }
程序生成以下输出:
for
的三个部分可用于任何目的和部分 for
loop可以为空。
public class Main { public static void main(String args[]) { int i = 0; boolean done = false; for (; !done;) { System.out.println("i is " + i); if (i == 9) done = true; i++; } } }
输出:
for
循环可以嵌套生成强大的逻辑,例如,我们可以使用嵌套 for
循环来迭代一个二维数组。例如,这里是一个嵌套for循环的程序:
public class Main { public static void main(String args[]) { for (int i = 0; i < 10; i++) { for (int j = i; j < 10; j++) System.out.print("."); System.out.println(); } } }
此程序产生的输出如下所示:
for each循环对一个序列中的元素进行迭代,而不使用循环计数器。
for each循环的的语法是:
for (type variable_name:array){ }
类型
必须与数组
类型兼容。
以下代码显示了如何为每个循环使用。
public class Main { public static void main(String args[]) { String[] arr = new String[]{"www.w3cschool.cn","a","b","c"}; for(String s:arr){ System.out.println(s); } } }
输出:
下面的代码使用 for-each
样式循环来迭代一个二维数组。
public class Main { public static void main(String args[]) { int sum = 0; int nums[][] = new int[3][5]; for (int i = 0; i < 3; i++){ for (int j = 0; j < 5; j++){ nums[i][j] = (i + 1) * (j + 1); } } // use for-each for to display and sum the values for (int x[] : nums) { for (int y : x) { System.out.println("Value is: " + y); sum += y; } } System.out.println("Summation: " + sum); } }
此程序的输出如下所示:
for-each
样式循环在搜索数组中的元素时非常有用。
public class Main { public static void main(String args[]) { int nums[] = { 6, 8, 3, 7, 5, 6, 1, 4 }; int val = 5; boolean found = false; // use for-each style for to search nums for val for (int x : nums) { if (x == val) { found = true; break; } } if (found) System.out.println("Value found!"); } }
上面的代码生成以下结果。
while循环在其控制条件为真时重复语句或块。
这是它的一般形式:
while(condition) { // body of loop }
这里是一个while循环,从10减少,打印十行“tick":
public class Main { public static void main(String args[]) { int n = 10; while (n > 0) { System.out.println("n:" + n); n--; } } }
当你运行这个程序,你会得到以下结果:
以下代码显示如何使用while循环来计算和。
public class Main { public static void main(String[] args) { int limit = 20; int sum = 0; int i = 1; while (i <= limit) { sum += i++; } System.out.println("sum = " + sum); } }
上面的代码生成以下结果。
如果条件是 false
,则 while
循环的正文将不会执行。例如,在以下片段中,从不执行对 println()
的调用:
public class Main { public static void main(String[] argv) { int a = 10, b = 20; while (a > b) { System.out.println("This will not be displayed"); } System.out.println("You are here"); } }
输出:
while
的正文可以为空。例如,考虑以下程序:
public class Main { public static void main(String args[]) { int i, j; i = 10; j = 20; // find midpoint between i and j while (++i < --j) ; System.out.println("Midpoint is " + i); } }
上面代码中的 while
循环没有循环体和 i
和 j
在while循环条件语句中计算。它生成以下输出:
要执行while循环的主体至少一次,可以使用do-while循环。
Java do while循环的语法是:
do { // body of loop } while (condition);
这里是一个例子,显示如何使用 do-while
循环。
public class Main { public static void main(String args[]) { int n = 10; do { System.out.println("n:" + n); n--; } while (n > 0); } }
输出:
前面程序中的循环可以写成:
public class Main { public static void main(String args[]) { int n = 10; do { System.out.println("n:" + n); } while (--n > 0); } }
输出与上面的结果相同:
以下程序使用 do-while
实现了一个非常简单的帮助系统循环和 swith语句。
public class Main {
public static void main(String args[]) throws java.io.IOException {
char choice;
do {
System.out.println("Help on:");
System.out.println(" 1. A");
System.out.println(" 2. B");
System.out.println(" 3. C");
System.out.println(" 4. D");
System.out.println(" 5. E");
System.out.println("Choose one:");
choice = (char) System.in.read();
} while (choice < '1' || choice > '5');
System.out.println("\n");
switch (choice) {
case '1':
System.out.println("A");
break;
case '2':
System.out.println("B");
break;
case '3':
System.out.println("C");
break;
case '4':
System.out.println("D");
break;
case '5':
System.out.println("E");
break;
}
}
}
下面是这个程序生成的示例运行:
当在循环中遇到 break
语句时,循环终止并进行程序控制在循环后的下一条语句中恢复。
break语句的语法
break;
或者
break labelName;
这里有一个简单的例子:
public class Main { public static void main(String args[]) { for (int i = 0; i < 100; i++) { if (i == 10) break; // terminate loop if i is 10 System.out.println("i: " + i); } System.out.println("Loop complete."); } }
此程序生成以下输出:
break
语句可以与同时使用
循环。例如,这里是使用 while
循环编码的前面的程序。
public class Main { public static void main(String args[]) { int i = 0; while (i < 100) { if (i == 10) break; // terminate loop if i is 10 System.out.println("i: " + i); i++; } System.out.println("Loop complete."); } }
输出:
break
语句有助于退出无限循环。在下面的 while
循环中, true
值是硬编码的,因此 while
循环是一个无限循环。 然后它使用 if
语句当 i
为10时, break
语句退出整个
循环。
public class Main { public static void main(String args[]) { int i = 0; while (true) { if (i == 10){ break; // terminate loop if i is 10 } System.out.println("i: " + i); i++; } System.out.println("Loop complete."); } }
输出:
当在一组嵌套循环中使用时, break
语句只会突破最内层循环。 例如:
public class Main { public static void main(String args[]) { for (int i = 0; i < 5; i++) { System.out.print("Pass " + i + ": "); for (int j = 0; j < 100; j++) { if (j == 10) break; // terminate loop if j is 10 System.out.print(j + " "); } System.out.println(); } System.out.println("Loops complete."); } }
此程序生成以下输出:
终止 switch 语句的 break
只会影响它 switch
语句,而不是任何封闭的循环。
public class Main { public static void main(String args[]) { for (int i = 0; i < 6; i++) switch (i) { case 1: System.out.println("i is one."); for (int j = 0; j < 5; j++) { System.out.println("j is " + j); } break; case 2: System.out.println("i is two."); break; default: System.out.println("i is greater than 3."); } } }
输出:
从结果我们可以看到 break
语句只退出 switch
语句。
我们可以为break语句指定一个标签,让代码逻辑退出到那个点。 以下代码使用标签使break语句退出嵌套for循环的两个层。
public class Main { public static void main(String args[]) { outer: for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (j + 1 < i) { System.out.println(); break outer; } System.out.print(" " + (i * j)); } } System.out.println(); } }
输出:
continue
语句强制循环的早期迭代。在 while
和 do-while
循环中, continue
语句使控制转移到条件语句表达式控制循环。在 for
循环中,控制首先进行迭代for语句的部分,然后到条件表达式。
continue
语句的语法
continue;
或者
continue labelName;
以下代码显示如何使用continue语句。
public class Main { public static void main(String[] argv) { for (int i = 0; i < 10; i++) { System.out.print(i + " "); if (i % 2 == 0) continue; System.out.println(""); } } }
上面的代码生成以下结果。
continue
可以指定 label
来描述要继续的封闭循环。
public class Main { public static void main(String args[]) { outer: for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (j > i) { System.out.println(); continue outer; } System.out.print(" " + (i * j)); } } System.out.println(); } }
这里是这个程序的输出:
下面的代码显示了如何使用标签while循环。
public class Main { public static void main(String[] args) { int i = 0; outer: while (true) { System.out.println("Outer while loop"); while (true) { i++; System.out.println("i = " + i); if (i == 1) { System.out.println("continue"); continue; } if (i == 3) { System.out.println("continue outer"); continue outer; } if (i == 5) { System.out.println("break"); break; } if (i == 7) { System.out.println("break outer"); break outer; } } } } }
上面的代码生成以下结果。
下面的代码显示了如何使用continue语句和标签计算Primes。
public class Main { public static void main(String[] args) { int nValues = 50; OuterLoop: for (int i = 2; i <= nValues; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) { continue OuterLoop; } } System.out.println(i); } } }
上面的代码生成以下结果。
下面的代码显示了如何使用Labeled continue语句来计算阶乘数。
public class Main { public static void main(String[] args) { int limit = 20; int factorial = 1; OuterLoop: for (int i = 1; i <= limit; i++) { factorial = 1; for (int j = 2; j <= i; j++) { if (i > 10 && i % 2 == 1) { continue OuterLoop; } factorial *= j; } System.out.println(i + "! is " + factorial); } } }
上面的代码生成以下结果。
源代码中的注释提供有关源代码的信息。这是一个很好的做法是编写注释来记录源代码
Java中支持三种类型的注释。
Java单行注释从 //
开始,结束到该行结束。
public class Main { // This is a single line comment. public static void main(String[] argv) { } }
Java多行注释在 /*
和 */
之间。编译器忽略从 /*
到 */
的所有内容。
public class Main { /* This is a Multiline comment. */ public static void main(String[] argv) { } }
Javadoc文档注释用于生成用于记录程序的HTML文件。总之我们通常调用Java文档评论javadoc。
Javadoc注释占用一行或多行源代码。文档注释以 /**
开头,并以 */
结尾。从/**到*/的所有内容都被编译器忽略。
以下示例演示Javadoc注释:
/** * Application entry point * * @param args array of command-line arguments passed to this method */ public static void main(String[] args) { // TODO code application logic here }
此示例从描述main()方法的Javadoc注释开始。 /**
和 */
包含方法的描述,其可以包括诸如的HTML标签<p>
,<code>
和 /</code>
和 @param
Javadoc标记(一个@前缀指令)。
以下列表标识几个常用的标签:
@author
标识源代码的作者。@deprecated
标识不应再使用的源代码实体。@param
标识方法的参数之一。@see
提供了一个see-also参考。@since
标识实体首次发起的软件版本。@return
标识该方法返回的值的类型。以下代码具有更多的文档注释
/** * A simple class for introducing a Java application. * * @author yourName */ public class HelloWorld { /** * Application entry point * * @param args * array of command-line arguments passed to this method */ public static void main(String[] args) { System.out.println("Hello, world!"); } }
我们可以使用JDK的javadoc将这些文档注释提取到一组HTML文件中工具,如下:
javadoc
命令默认为为公共类和生成基于HTML的文档公共/受保护的成员。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。