Java期中整理chapter5-6

第五章 条件判断与循环

5.1布尔表达式

条件语句和循环语句可用于控制程序的执行流程。

条件语句:if语句,if-else语句,switch语句

循环语句:while语句,do语句,for语句

这两种语句中的布尔表达式都是基于相等性运算符,关系运算符,逻辑运算符的

相等性运算符:== 和 != (注意,相等性运算符不等同于赋值运算符)

关系运算符:<    >   >=   <=

逻辑运算符:!(非) &&(与) ||(或)

在这三种逻辑运算符中的优先级:非>与>或

逻辑运算符中,“&&”和“||”具有短路性,即可能通过第一表达式确定结果,不进行第二个表达式的判断,而“&”不具备短路性,前后表达式都进行完再判断

5.2if语句和if-else语句

if语句在条件为true时执行,为false时不执行

if-else语句在条件为true时执行if语句,为false时执行else语句

if和else都只对下面一行有效应,必要时要使用{}语句块

当if语句嵌套时,else子句和它前面最近且未匹配的if语句相匹配,但是可以使用括号来界定else子句属于哪一条if语句

例如:if()

{

     if()

}else//此时else子句属于第一个if语句

5.3switch语句

switch()

{

    case' ':

       break;

    case' ':

       break;

    default:

}

switch语句中括号内运算结果必须为字符型或者整型值(char,byte,short,int,最近版本又添加了String类,但不可为boolean或者float型),而且case语句中表达式必须为常量,不可为变量或者其他表达式。

每个case语句后都记得加break否则后面的将会依次执行,直到遇见一个break,才会跳出switch语句。

5.4while语句和do语句

while语句中的循环体可能不执行,do语句保证了循环体至少执行一次

嵌套循环:当一个循环体中包含另一个循环,这称为嵌套循环

经典例题:略

5.5next()与nextLine()方法的区别

next()读取时遇到空格即结束,而nextLine()方法是遇到回车即结束,值得注意的是当键盘输入时,末尾处会敲回车键,因此nextLine()可能会因此结束

经典例题:

import java.util.Scanner;

//Scanner中nextLine()方法和next()方法的区别
public class ScannerString {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.println("请输入字符串(next):");
        String str = input.next();
        System.out.println(str);

        System.out.println("请输入字符串(nextLine):");
        String str1 = input.nextLine();
        System.out.println(str1);
    }
}

面板:

请输入字符串(next):
我是 大王
我是
请输入字符串(nextLine):
 大王//大王前有空格

当next()方法遇到“我是”后面的空格立即停止读取并输出字符串“我是”

剩下的“ 大王”则被nextLine()方法读取并输出,由于大王后面有回车键,则nextLine方法遇到回车即停止读取,因此如果输入的为“我是大王”,也就是中间没有空格的情况,那么由于大王后有回车,则nextLine方法不会有输出

请输入字符串(next):
我是大王
我是大王
请输入字符串(nextLine):


Process finished with exit code 0
5.6ArrayList类

ArrayList<E>,E可以是String,Book,Integer但不可以是简单类型int,double

方法:

add(int index,E obj),在索引为index处添加E,后面的依次后退一个,索引值加一

list1.addAll(list2)将list2中的元素全部添加到list1后面

eg.abcd  efgh  然后abcdefgh

list1.addAll(2,list2)将list2中的元素从索引值为2处开始放置

eg.abcd efgh  然后abefghcd

list1.removeAll(list2)按照list2将list1中对应的元素删掉,但若list2中的元素list1中没有,则list1不执行删除,编译器不报错

.clear()清空

list.set(2,“m”)将list中下标值为2的元素改为m,其他的不发生改动

list.get(2)获取索引值为2的元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值