Java从入门到入土100天,第三天
Posted jiuyueshadow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java从入门到入土100天,第三天相关的知识,希望对你有一定的参考价值。
第三天,分支判断循环
1、switch()
(1)括号中的必须是int char类型
(2)break是可选的,其作用就是退出switch这个整体,如果不加,在break后面 case、default后的语句会直接使用。
(3)default 只出现一次,位置一般是在最后,实际可以自由出现。
(4)Switch 后圆括号中填写的值是小于等于int类型的数字值,也可以填写字符串,必须所有的case都是字符串类型。
(5)Switch 和if。。Elseif 对比:
if....else if比较多样性较高。而switch只是做等值比较。
2、循环结构:
For (用的较多)
While (其次)
do....while (用的较少)
For(初始化部分;比较部分;状态改变部分)
{ 循环语句;}
比较部分:指的是符合条件就继续运行下去,不符合就跳出for。
特征:重复执行某段代码,直到某个状态到达,停止执行。
变量的名称最好有一定的意义,至少这样的名称不推荐使用,例如a,b,a1,b1等。
控制循环次数的表达式书写不正确,容易导致无限循环(或称死循环)。绝大部分情况下,无限循环没有意义,但作为服务器编程,无限循环是需要的。
for (int i = 10; i>0;i-- )这个i只在for中有效。For循环结束后i还需要重新定义。
for,while:是先判断后执行 do....while:先执行后判断
如:
int i =1;
do{
System.out.print(i+" , ");
i++;
}while(i<0);
是会输出的。
Break:在循环中的意思就是,中断,打断,(当前)循环流程。当要打断非当前的循环时:(加上一个逻辑名称)。
例如:
public class Test1 { public static void main(String[] args) { out: for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { System.out.print("[" + i + " , " + j + "]"); if (i == 2 && j == 2) { break out; } } System.out.println(""); } } }
加了out逻辑名后就直接退出到逻辑名处。
continue:继续当前循环的下一次。意思就是程序执行到continue这语句时会直接执行下一个循环,忽视continue后面的改循环的语句。
例如
for (int j = 10;j>0 ;j-- ) { if (j ==8) { continue; } j--; System.out.print(j+" , "); }
当j==8之后不会再执行 j--和System 会直接跳到j=7。
3、数组和字符串:
数组和字符串都是类型,都是对象类型。(与基本数据类型分开)。
(1)数组:
什么是数组:一堆相同类型的变量吧他们集中在一起,统一管理。
主要学习的语法:
定义数组(3种)
int[] ages = new int[34];//称为ages数组。[]里的是数组的长度
int[] ages1 = {18,19,20};//不推荐使用这种定义。ages1 = {1,2,3,4};这就语法错误了。再次赋值容易出错。
int[] ages2 = new int[]{18,19,20};
数组的一些术语
长度length:就是数组中值的个数
元素element:就是每一个具体的值,专业的说法叫做元素(数组的元素)。
下标(索引)index:就是某个元素在数组中的位置。位置从0开始计数。
基本类型的数组,如果不赋值,默认值是上广义上的0。Boolean对应的是false。
对象类型数组,默认值是null。
例如:
public class Test1 { public static void main(String[] args) { int[] ages = new int[34]; String[] s = new String[3]; System.out.println("["+ages[0]+"]"); System.out.println("["+s[0]+"]"); } }
输出的是: [0]
[null]
使用它
int[] ages = new int[3];//称为ages数组。
ages[3] = 20;
编译没问题但是运行出错ArrayIndexOutOfBoundsException。因为数组长度为3,但是是从0开始计数
高级的使用(遍历,把数组的所有信息给取出来)
public class Test1 { public static void main(String[] args) { int[] ages = new int[3]; ages[0] = 10; ages[1] = 20; ages[2] = 30; for (int age: ages ) { System.out.println(age+" , "); } } }
采用foreach循环方法:for(数组类型 定义名称 : 数组本体) 简单遍历方式。优点:简单编写,缺点:只能递增式遍历 缺乏灵活性。
一般的:
public class Test1 { public static void main(String[] args) { int[] ages = new int[3]; ages[0] = 10;//赋值 ages[1] = 20; ages[2] = 30; for (int i =0;i<ages.length ;i++ ) { System.out.print("["+ages[i]+"] , "); } } }
搭配:循环
For,while,do...while
foreach循环,是jdk1.5以后添加的新功能
高级一些
4、字符串
String
定义方法: 定义字符串类型的变量(更准确的说定义字符串对象)
String str1 = "abc";
还有一种是对象类型特有的定义变量(对象)的方法,关键字是new。
String str2 = new String("bbb");
构造方法:
String(String)
String(char[])
普通方法:
char charAt(int)
int length()
Char[] toCharArray()
对象类型或多或少都有内置方法(函数),提供一定的逻辑。例如:字符串的个数(长度)
int len = str1.length();
获取字符串中某个位置上(下标)的字符
char first = str1.charAt(0);//0字符串的第一个字符
char last = str1.charAt(len-1);//最后一个字符
字符串变字符数组
char[] ch = str1.toCharArray();
以上是关于Java从入门到入土100天,第三天的主要内容,如果未能解决你的问题,请参考以下文章