我是靠谱客的博主 自然蜡烛,这篇文章主要介绍Java学习笔记(位运算/流程控制(if、switch、while、do while、for、break、continue、return语句))--day_3,现在分享给大家,希望可以做个参考。

【1】位运算

2.&(按位与运算) 针对二进制,只要有一个为0,就为0

3.<<(向左位移) 针对二进制,转换成二进制后向左移动3位,后面用0补齐

4.>>(向右位移) 针对二进制,转换成二进制后向右移动3位,

5.>>>(无符号右移) 无符号右移,忽略符号位,空位都以0补齐

6.|:(按位或)针对二进制,只要有一个为1,就为1

7.~:按位非。只要有一位为1时即可返回1

【2】使用Scanner获取键盘输入
使用Scanner类可以很方面地获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件、输入流、字符串中解析出基本类型值和字符串值。Scanner类提供了多个构造器,不同的构造器可接受文件、输入流、字符串作为数据源,用于从文件、输入流、字符串中解析数据。

Scanner主要提供了两个方法来扫描输入:

【3】流程控制

(2)分支结构
if语句:使用布尔表达式或布尔值作为分支条件来进行分支控制。
switch语句:用于对多个整型值进行匹配,从而实现分支控制。

(3)循环结构
while 循环语句
do while 循环语句
for 循环语句

【4】if条件语句

▲ if (logic expression) { statements…}

▲ if (logic expression) { statements…}
最后的else语句也可以省略

注意:if、else、else if 后条件执行体要么是一个花括号括起来的语句块,则这个语句块整体作为条件执行体;要么是以分号为结束符的一行语句,甚至可能是一个空语句(空语句就是一个分号)。

如果if、else、else if后的执行体只有一行语句时,则可以省略花括号,但我们最好不要省略花括号,因为保留花括号会有更好的可读性,且还可以减少发生错误的可能。
else 的隐含条件就是对前面条件取反。

public class IfCorrectTest
{
public static void main(String[] args)
{
int age = 45;
if (age > 60)
{
System.out.println("老年人");
}
else if (age > 40)
{
System.out.println("中年人");
}
else if (age > 20)
{
System.out.println("青年人");
}
}
}
public class IfTest
{
public static void main(String[] args)
{
int age = 30;
if (age > 20)
// 只有当age > 20时,下面花括号括起来的语句块才会执行
// 花括号括起来的语句是一个整体,要么一起执行,要么一起不会执行
{
System.out.println("年龄已经大于20岁了");
System.out.println("20岁以上的人应该学会承担责任...");
}
// 定义变量a ,并为其赋值
int a = 5;
if (a > 4)
// 如果a>4,执行下面的执行体,只有一行代码作为代码块
System.out.println("a大于4");
else
// 否则,执行下面的执行体,只有一行代码作为代码块
System.out.println("a不大于4");
// 定义变量b ,并为其赋值
int b = 5;
if (b > 4)
// 如果b>4,执行下面的执行体,只有一行代码作为代码块
System.out.println("b大于4");
else
// 否则,执行下面的执行体,只有一行代码作为代码块
b--;
// 对于下面代码而言,它已经不再是条件执行体的一部分,因此总会执行。
System.out.println("b不大于4");
// 定义变量c ,并为其赋值
int c = 5;
if (c > 4)
// 如果b>4,执行下面的执行体,将只有c--;一行代码为条件体
c--;
// 下面是一行普通代码,不属于条件体
System.out.println("c大于4");
// 此处的else将没有if语句,因此编译出错。
else
// 否则,执行下面的执行体,只有一行代码作为代码块
System.out.println("c不大于4");
}
}

【5】switch分支语句
省略case后代码块的花括号
byte、short、char、int

public class StringSwitchTest
{
public static void main(String[] args)
{
// 声明变量season
String season = "夏天";
// 执行swicth分支语句
switch (season)
{
case "春天":
System.out.println("春暖花开.");
break;
case "夏天":
System.out.println("夏日炎炎.");
break;
case "秋天":
System.out.println("秋高气爽.");
break;
case "冬天":
System.out.println("冬雪皑皑.");
break;
default:
System.out.println("季节输入错误");
}
}
}

【6】while & do while 循环语句
★ while 循环的语法格式如下:
先判断逻辑表达式的值,若为true

★ do while 循环的语法格式如下:
先执行语句,再判断逻辑表达式的

public class WhileTest
{
public static void main(String[] args)
{
//
// 循环的初始化条件
//
int count = 0;
//
// 当count小于10时,执行循环体
//
while (count < 10)
//
{
//
System.out.println(count);
//
// 迭代语句
//
count++;
//
}
//
System.out.println("循环结束!");
//
// 下面是一个死循环
//
int count = 0;
//
while (count < 10)
//
{
//
System.out.println("不停执行的死循环 " + count);
//
count--;
//
}
//
System.out.println("永远无法跳出的循环体");
int count = 0;
// while后紧跟一个分号,表明循环体是一个分号(空语句)
while (count < 10);
// 下面的代码块与while循环已经没有任何关系
{
System.out.println("------" + count);
count++;
}
}
}
public class DoWhileTest
{
public static void main(String[] args)
{
// 定义变量count
int count = 1;
// 执行do while循环
do
{
System.out.println(count);
// 循环迭代语句
count++;
// 循环条件紧跟while关键字
}while (count < 10);
System.out.println("循环结束!");
// 定义变量count2
int count2 = 20;
// 执行do while循环
do
// 这行代码把循环体和迭代部分合并成了一行代码
System.out.println(count2++);
while (count2 < 10);
System.out.println("循环结束!");
}
}

使用循环时,一定要保证循环条件有变成false的时候,如果循环条件永远为true,那就是死循环。使用while循环时还有一个陷阱,while循环条件后紧跟一个分号。
do while循环的循环体至少执行一次。

【7】for语句
for ([inint_statements] ; [test_expression] ; [iteration_statements]){ statements }

★ 执行过程:首先计算表达式1,即init_statements,接着执行表达式2,即test_expression,若表达式2的值为true,则执行语句(statements),接着执行表达式3,即iteration_statements,再判断表达式2的值;依次重复下去,直到表达式的值=false,则结束for循环。因此,for循环的循环条件(表达式2)比循环体(语句)要多执行一次。

注意:for循环的循环迭代语句并没有与循环体放在一起,因此即使在执行循环体时遇到continue语句结束本次循环,循环迭代语句一样会得到执行。

for 循环允许同时指定多个初始化语句,循环条件也可以是一个包含逻辑运算符的表达式。但只能有一个声明语句,因此如果需要在初始化表达式中声明多个变量,那么这些变量应该有相同的数据类型。

for 循环圆括号中只有两个分号是必须的,初始化语句、循环条件、迭代语句部分都可以省略,如果省略了循环条件,则这个循环条件默认是true,将会产生一个死循环。

public class ForTest
{
public static void main(String[] args)
{
// 循环的初始化条件,循环条件,循环迭代语句都在下面一行
for (int count = 0 ; count < 10 ; count++)
{
System.out.println(count);
}
System.out.println("循环结束!");
}
}

【8】嵌套循环
假设外层循环的循环次数为n次,内层循环的循环次数为m次,那么内层循环的循环体实际上需要执行n*m次。

【9】break语句
break用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。

public class BreakTest
{
public static void main(String[] args)
{
// 一个简单的for循环
for (int i = 0; i < 10 ; i++ )
{
System.out.println("i的值是" + i);
if (i == 2)
{
// 执行该语句时将结束循环
break;
}
}
}
}

【10】continue 语句
区别是continue只是中止本次循环,接着开始下一次循环。而break则是完全中止循环。

public class ContinueTest
{
public static void main(String[] args)
{
// 一个简单的for循环
for (int i = 0; i < 3 ; i++ )
{
System.out.println("i的值是" + i);
if (i == 1)
{
// 忽略本次循环的剩下语句
continue;
}
System.out.println("continue后的输出语句");
}
}
}

【11】return语句

一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。

public class ReturnTest
{
public static void main(String[] args)
{
// 一个简单的for循环
for (int i = 0; i < 3 ; i++ )
{
System.out.println("i的值是" + i);
if (i == 1)
{
return;
}
System.out.println("return后的输出语句");
}
}
}

最后

以上就是自然蜡烛最近收集整理的关于Java学习笔记(位运算/流程控制(if、switch、while、do while、for、break、continue、return语句))--day_3的全部内容,更多相关Java学习笔记(位运算/流程控制(if、switch、while、do内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(137)

评论列表共有 0 条评论

立即
投稿
返回
顶部