Java華清筆記

  • if...else...语句
  1. 语法:
  1. if...else...语法

if(判断表达式){

语句块1....

}else{

语句块2....

}

  1. 先执行判断表达式,返回布尔类型返回值
  2. 如果为true,则执行语句块1
  3. 如果为false,则执行语句块2
  1. if ... else if....语法

if(判断表达式1){

语句块1....

}else if(判断表达式2){

语句块2....

}

......

else{

语句块n....

}

练习:输入三个数,输出三个数中最大的数

练习:从控制台输入一个数num与之前定义的数n进行比较如果num==n,提示恭喜你猜对了”;如果num<n提示抱歉猜小了”,如果num>n提示抱歉猜大了”。

练习:输入年份,判断该年是闰年还是平年

四年一闰,百年不闰,逢四百年再闰

  • switch...case...语句
  1. 语法:

switch(变量){

case 值1:

语句块1...

[break;]

case 值2:

语句块2...

[break;]

......

case 值n:

语句块n...

[break;]

default :

语句块n+1...

}

  1. 首先变量的值是多少,根据case值来执行对应的语句块
  2. 如果语句块中不包含break语句,则会从该case一直往下执行
  3. 如果没有对应的值,则执行default当中的语句块。
  4. 在Java1.7之前switch后变量类型只能是byte short int char

之后加入了String类型

注意:

没有break语句

  1. case语句的顺序会影响最后的结果
  2. default语句的位置也会影响最后的结果

     

练习:从控制台输入数字,如果数字在1-12,输出对应的月份和天数。否则输出非法数据。使用swtich语句编写代码。

练习:一个景区根据游人的年龄收取不同价格的门票,20岁以下20元钱,20到60岁40元钱,60岁以上免费。请输入年龄,然后给出票价

  • while循环
  1. 语法:

int i = 值;    // 循环初始值

while(判断表达式){

循环体...

i++ ; // 增量表达式

}

练习:输出100以内所有偶数

练习:100以内将所有敲7中不能说的数用*来输出

所有7的倍数和数字中带7的数

练习:输出100以内所有奇数和

练习:输出n!      10! = 10*9*8*7*6*5*4*3*2*1

  • do...while循环
  1. 语法:

do{

循环体...

}while(判断表达式);

  1. 与while循环的区别

do...while不管循环条件是否成立,必然执行一次循环体

while先判断循环条件是否成立,很有可能一次循环都不执行。

  • for循环
  1. 语法:

for(循环初值表达式;循环判断表达式;增量表达式){

循环体...

}

  1. 三个表达式都能省略,中间的;不能省略
  2. 初值表达式省略,可以在循环上定义初值
  3. 判断表达式省略,形成无限循环
  4. 增量表达式省略,也会形成无限循环

练习:找寻所有的水仙花数 3位数 ,个位立方+十位立方+百位立方 == 这个数  153 = 33+53+13

作业

  1. 输入一个分数,判断其成绩为 优(90+)、良(80+)、中(70+)、及格(60+)还是不及格(60以下)
  2. 输入三个整数x,y,z,请把这三个数由小到大输出。
  3. 计算9!的值 [362880]
  4. 计算3!+5!+7!+9!的值 [368046]
  5. 分别输入年月日,判断该日期是这一年的第几天
  • breakcontinue--(掌握)

break语句可以在switch.case还有循环中使用

continue可以在循环中使用

break跳出整个循环

continue跳出本次循环

return;语句可以跳出该方法(函数)

System.exit(0); 用来退出整个程序

  • 数组

数组用来存多个相同类型的数据

  1. 定义数组
  1. 数据类型[] 数组名;     int[] array;
  2. 数据类型 数组名[];   double array_d[];
  1. 数组赋值
  1.  数组定义并赋值  数据类型[] 数组名 = {值1,值2,值3....};

int[] array = {1,2,3,4,5};

  1. 数组定义并开辟空间 数据类型[] 数组名 = new 数据类型[空间大小];

String[] str_arr = new String[10];

  1. 访问数组中的元素

使用下标访问数组中的元素,下标从0开始

System.out.println(array[0]);

修改元素的值

array[2] = “哈哈”;

  1. 数组的属性和方法
  1. 属性:数组的长度(元素个数)

arr.length

  1. int arr2[] = arr.clone() 克隆方法,将arr里的值复制给arr2,但是arr和arr2地址是不同的
  2. Arrays.sort(数组); 将数组进行正序排列

  • foreach循环(增强for循环)用于数组、集合的遍历

语法:

for(和数组相同的数据类型 变量名:数组名){

System.out.println(变量名)

}

因为foreach使用临时变量将数组中的值进行赋值查看,所以改变临时变量不会改变数组原值,foreach只能查看不能修改

  • 顺序查找(掌握)

定义一个int型数组,存储十个值。从控制台输入一个数字,在数组中进行查找,如果找到,输出第一次找到该输入值的下标,如果没有找到,输出-1;

  • 二分查找[折半查找]算法(掌握)

要求:数组必须是有序的,要求每一个元素的值比前面的大。

作业

  1. 打印如下图形

*

***

*****

***

*

  1. 编写程序,输入一个字符,判断它是否为小写字母,如果是,将它转换成大写字母,否则,不转换。
  2. 编写程序,从键盘输入一个 0~99999 之间的任意数,判断输入的数是几位数?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值