0.回顾
1.算数运算符
2.关系运算符
、<、>=、<=、==、!= 返回值是 true 或者 false
3.逻辑运算符
4.位运算 (了解)
5.三元运算符
6 条件判断 (重点)
语法 :
if(表达式) {
code //代码
}
if(表达式 ){
//代码
}else {
//代码
}
if(表达式) {
//代码
}else if(表达式){
//代码
} …..
else {
//代码
}
//嵌套判断
if(表达式){
//代码
if(表达式) {
//代码
if(表达式) {
//代码
}
}else {
if(表达式){
//代码
}
}
}
//嵌套判断 最好不超过三层
一、随机数
在Java中随机的获取一个数字 (整数和浮点数) Random
public class Test01_随机数 {
public static void main(String[] args) {
//创建一个随机数的对象
Random random = new Random();
//获取随机数 使用 random对象 获取一个任意的一个 int类型的值
/
random.nextInt(); : 获取任意一个int 类型的随机数
/
int num1 = random.nextInt();
System.out.println(num1);
//random.nextLong(); 返回的是一个 long类型的随机数
long num2 = random.nextLong();
System.out.println(num2);
//获取一个浮点数 float [0.0 ,1.0)
float num3 = random.nextFloat();
System.out.println(num3);
//获取一个 浮点数 double [0.0,1.0)
double num4 = random.nextDouble();
System.out.println(num4);
//以上取出的值 对于实际开发 没有太大意义
//获取 1—10之间的随机数 [0,10)
int x = random.nextInt(10);
System.out.println(x);
//获取 [0,100)
int y = random.nextInt(100);
System.out.println(y);
//创建一个 [0,10) 之间的随机数 一旦第一次创建出来 以后每次执行都获取相同值
/
在创建Random对象的时候 ,要给与一个种子 ,创建随机数的时候 使用这个种子创建
Random ran = new Random(long seed); 里面的参数 只要是long类型 就可以
*/
Random ran = new Random(1);
int z = ran.nextInt(10);
System.out.println(“z—->”+z);
}
}
String类补充两个方法:
public class Test02_String {
public static void main(String[] args) {
//创建一个字符串
String s = “abcdefghijklmnhkgfkhtdht”;
//1.告诉我 这个字符串有多少个字符 意思就字符串的长度 length()
int len = s.length();
System.out.println(s+”的长度是—“+len);
//取出第三个字符 charAt(int index)
char c = s.charAt(2);
System.out.println(c);
//取出 字符串 s 的最后一个字符
char c1 = s.charAt(s.length()-1);
System.out.println(c1);
}
}
二、循环迭代
循环:不断的重复做 相同的事情,或做相似的事情
Java中提供了以下三种循环结构
1. for循环
//打印十次 我爱中国
public class Test03_For01 {
public static void main(String[] args) {
System.out.println(“我爱中国!”);
System.out.println(“我爱中国!”);
System.out.println(“我爱中国!”);
System.out.println(“我爱中国!”);
System.out.println(“我爱中国!”);
System.out.println(“我爱中国!”);
System.out.println(“我爱中国!”);
System.out.println(“我爱中国!”);
System.out.println(“我爱中国!”);
System.out.println(“我爱中国!”);
}
}
向上述这样的代码,重复的执行,就可以使用Java提供的循环语法完成.
语法 :
for(初始值 ; 关系表达式 ; 迭代步长 ){
//代码
}
执行步骤 :
- 赋值初始值
- 在表达式中判断初始值 如果满足条件 执行 循环体(代码)
- 执行循环体
- 执行迭代步长
循环的执行 : 1234 234 234 234 234 234 知道关系表达式 不满足条件 结束执行
随堂练习 :循环打印 1—10数字
思考题 :打印 1 3 5 7 9
public class Test03_For01 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {<br /> System.out.println("我爱中国!");<br /> }
System.out.println("================");
for (int i = 1; i <= 10; i++) {<br /> System.out.println("当前数据时候--->" + i);<br /> }
System.out.println("=========================");<br /> for (int i = 1; i <= 10; i++) {<br /> if (i % 2 != 0) {<br /> System.out.println(i);<br /> }<br /> }<br /> System.out.println("=========================");<br /> // 每循环一次 i的步长 加2<br /> for (int i = 1; i <= 10; i += 2) {<br /> System.out.println(i);<br /> }<br /> System.out.println("=======================");<br /> // 打印出 1---100之间 能被7整除的数据<br /> for(int i=1;i<=100;i++){<br /> if(i % 7 == 0){<br /> System.out.print(i+" ");<br /> }<br /> }<br /> System.out.println("\n");<br /> for(int i=7;i<=100;i+=7){<br /> System.out.print(i +" ");<br /> }<br /> } <br />}<br />public class Test04_For02 {<br /> <br /> public static void main(String[] args) {<br /> // 打印出 1---100之间 能被7整除的数据 统计总共有几个能被7整除的数据<br /> // 每打印7 个数字 就换行<br /> //保存能被7整除的个数<br /> int count = 0;<br /> <br /> for(int i=7 ;i<=100;i+=7){<br /> //当打印第八个数字的时候 开始换行<br /> if(count == 7){<br /> System.out.println();<br /> }<br /> System.out.print(i+" ");<br /> count++ ;<br /> }<br /> System.out.println(); <br /> //System.out.println();<br /> System.out.println("能被7整除的数据有【"+count+"】个");<br /> <br /> }<br />}<br />public class Test05_For03 {<br /> public static void main(String[] args) {<br /> //1.打印 10 9 8 ..1<br /> for(int i=10;i>0;i--){<br /> System.out.print(i+" ");<br /> }<br /> System.out.println();<br /> //2.计算 1+2+3+4+...+100 的和 <br /> int sum = 0;<br /> for(int i=1;i<=100;i++){<br /> sum += i;//sum = sum +i;<br /> }<br /> System.out.println("1+2+3+...+100 的和是:"+sum);<br /> // 计算 1+3+5+...+99 计算 2+4+6+...+100 <br /> <br /> //3.计算1---100 之间能7整除的数据之和 <br /> int all = 0;<br /> for(int i=7;i<=100 ;i+=7){<br /> all += i;<br /> }<br /> System.out.println("1---100 之间能7整除的数据之和是:"+all);<br /> <br /> // 有这样一个字符串 String s = "HelloWorld"; 把字符串S大小写 取反 hELLOwORLD<br /> String s = "HelloWorld";<br /> String str = "" ; //保存处理后的字符串<br /> for(int i=0;i<s.length();i++){<br /> char c = s.charAt(i);<br /> //System.out.print(c +" ");<br /> if(c >= 'A' && c <= 'Z'){<br /> c = (char)(c + 32);<br /> str += c ;<br /> }else if(c >= 'a' && c <= 'z'){<br /> c = (char) (c - 32);<br /> str += c;<br /> }<br /> }<br /> System.out.println(str);<br /> <br /> //1. 计算 5*4*3*2*1 计算 一个数字的阶乘 <br /> //在输出的时候 5*4*3*2*1=120<br /> int m = 1; //存储我的阶乘的结果<br /> String result = ""; //存储数据<br /> for(int i=10;i>0;i--){<br /> //求乘积<br /> m*=i;<br /> //ping字符串<br /> if(i !=1){<br /> result += i +"*";<br /> }else {<br /> result += i;<br /> }<br /> }<br /> System.out.println(result+"="+m);<br /> }<br />}<br />**循环的退出:**<br />在循环中,我们可以选择在任何时候 ,退出这个循环,它使用用两个关键词:
- break 和 continuepublic class Test06_循环退出 {
public static void main(String[] args) {
//到 5 就结束
for(int i=0;i<10;i++){
if(i == 5){
break; //跳出当前循环 越过循环 执行 后面的代码
}
System.out.println(i);
}
System.out.println(“蜗牛学院!!!”);
//不需要打印 5 其他的数据 我都要
for(int i =0 ;i<10 ;i++){
/if(i != 5){
System.out.println(i);
}/
if(i == 5) {
continue ; //终止 本次循环 继续下一次循环
}
System.out.print(i + “ “);
}
}
}
循环的变体 :
语法 :
for(初始值 ; 表达式 ; 步长){
//循环体
}
// 初始值 ; 表达式 ; 步长 都不设置 死循环 不允许出现
for(;;){
System.out.println(“蜗牛学院!!!!”);
}
//如果出现上述死循环 我们要给予循环跳出的条件
public class Test07循环变体 {
public static void main(String[] args) {
//死循环
/for(;;){
System.out.println(“蜗牛学院!!!!”);
}/
int index = 0;
for(;;){
index++ ;
//设置循环终止的条件
if(index > 10){
break ;
}
System.out.println(index);
}
}
}
int i = 0;
for(;;i++){
if(i == 8){
break ;
}
System.out.println(i);
}
方法 :
一些代码的组合,这些组合的为了完成一个功能 ,并且给这些组合的代码 起个名字 , 方法本身是不能执行的(除了main方法),
方法只有被调用 才可以执行 ,一般是在 main方法中调用
方法语法 :
/
返回值 :根据方法功能设置 如果这个方法 没有返回值 设置 void
如果有返回值 :根据不同的数据类型 设置返回值
返回的是 int类型的数据 返回值 :int
参数 :参数 也是根据方法的功能是否需要参数 进行设置
/
public static 返回值 方法名 (参数…) {
//代码
}
方法的定义是在类中 ,绝对不能在方法中定义方法 ,Java不支持
如果有返回值 一定要是用 return 返回 并且返回对应的类型
没有返回自 ,也没有参数的方法调用:
public class Test08方法的定义和使用 {
public static void main(String[] args) {
//调用 sum方法
sum();
}
//定义一个方法 计算 1+2+3+..100 的和
//此方法 没有返回值 也没有参数
public static void sum(){
int sum = 0; //存储数据的和
for(int i=1;i<=100;i++){
sum += i;
}
System.out.println(“1+2+3+…+100=”+sum);
}
}
设置有参数 ,并且有返回值的方法:
public class Test08方法的定义和使用 {
public static void main(String[] args) {
//调用 阶乘的 方法
long m = jiecheng(5);
System.out.println(m);
}
//计算一个数字的阶乘 并且把计算的结果返回
/
一个方法 如果设置了返回值 必须返回
/
public static long jiecheng(int num){
long all = 1L;
for(int i=num ;i>0;i—){
all = i;
}
return all;
}
}
随堂练习 :
//设计一个方法,计算三个int类型的数据的平均值 并且返回
public class Test08方法的定义和使用2 {
public static void main(String[] args) {
//调用 avg方法
double a = avg(10,20,30);
System.out.println(a);
System.out.println(“======”);
//第二次调用
double d1 = avg(5,25,55);
System.out.println(d1);
System.out.println(“======”);
//第三次调用
double d2 = avg(1,20,99);
System.out.println(d2);
}
//设计一个方法,计算三个int类型的数据的平均值 并且返回
public static double avg(int x,int y,int z){
int sum = x + y + z ;
double avg = sum / 3.0 ;
return avg ;
}
}
// 设计一个方法 计算 两个 int类型的数据之和 并且 返回
//设置一个方法 计算 两个数据的 乘积 并且返回
2.while循环
3. do{} while循环
4.嵌套循环