Java学习第二周,周总结

day7:

1.switch语句

        格式        switch(表达式或者某个变量值)

{                

                        case   值

                               语句1:

                                break;

                        case     值2:

                                语句2:

                                break;

                ........

default:

                                语句n:

                                break;

}

                执行流程:

                switch接收结果,

                1)接收的结果和case后面的值进行比对,成立,则执行语句1,break,结束语句;

                2)值1和switch接收的结果不匹配,和值2进行比较,成立,执行语句2,break,结束语句;

                3)(重复上面的对比方法)

                        如果上面的case都不匹配,执行default语句,语句n,break,结束

                注意事项:

                 switch语句中的注意事项

                1)在switch中的case语句后面只能是常量,不能是变量(体现java是一种强类型语言)        

                2)在书写switch语句的标准结构时,不要忘记break(在语句中忘写break,会出现一个现象:case穿透)

                 3)switch语句的结束条件

                        /1.遇见break结束

                        /2.程序默认执行达到末尾

                4)default语句可以在switch语句中的任何位置,不影响语句的执行流程

                        只要case语句都不匹配,执行defaul;

                        如果default在语句末尾,break可以省略;

2.循环结构之for

        将一句话重复明确次数在程序中;

                1.阅读性差

                2.代码的冗余度高(重复性太大)

        计算机语言提供了流程语句之循环语句

        明确循环次数的优先for循环

格式

        for(初始化语句;表达式;控制体语句或步长语句){

                循环体语句;

}

执行流程

        1)初始化语句:给变量赋值(只执行一次)

        2)执行条件表达式,看是否成立,如果成立,执行循环体语句

                回到控制体语句或步长语句

                变量自增或自减

        3)重复

        4)执行到条件表达式不成立,for循环结束;

public class IfDemo{

        public static void main(String[] args){

                System.out.println("我爱java") ;

                System.out.println("我爱java") ;

                System.out.println("我爱java") ;

                System.out.println("我爱java") ;

                System.out.println("我爱java") ;

                System.out.println("--------------------------------------------") ;

                for(int x=1; x<=5;x++){

                        System.out.println("我爱java") ;

                }

        }

}

                循环求和思想

        求 1—10的数据之和:

        求和思想

        定义一个变量: 从0开始 sum

        0+1=1

                1+2=3

                        3+3=6

                                6+4=10

.........

       即:public class ForDemo {

                 public static void main(String[] args) {

                       int sum = 0 ; for(int x = 1 ; x <=10 ; x ++) {

                        sum+= x   // sum = sum + x;

                }

                System.out.println("1-10的数据之和是:"+sum);

        }

}

求:在控制台输出所有的水仙花数

 水仙花数

 水仙花指的是三位数,而且这个三位数的每一个位上的立方相加就是 当期数据本身;

 举例:153 = 1 * 1 * 1 + 5*5*5 + 3*3*3

                 153 % 10 = 3 ;---确定个位的数据

                 153 / 10 % 10 = 5 --- 确定十位的数据

                 153 /10 /10 %10 = 1 --- 确定百位上的数据

1)三位数,明确了范围 100-999---使用for循环

 2) 确定每各位的数据本身的值:

         定义三个变量,分别代表个位,十位,百位数据本身

         int ge = 当前这个数据 % 10 ;         

         int shi = 当前这个数据 /10 %10 ;

         int bai = 当前这个数据 /10/10 % 10 ;

 3)for循环中加入逻辑判断

 如果当前x == (ge*ge*ge)+(shi*shi*shi)+ (bai*bai*bai),

 满足条件,直接输出x

day8

1,常见的死循环

for和while

while在死循环中使用较多

死循环, 利用死循环完成一些需求,死循环中肯定需要使用逻辑判断; 当达到某种条件的时候,应该结束死循环;

死循环的两种格式

*第一个格式   

for(;;){

 循环体语句;

 }

第二个格式:   

while(true){         //死循环格式中使用比较多

 循环体语句;

 }

      Math的随机数使用  

jdk提供了类:java.lang.Math

java.lang包下的类不需要导包

针对数学运算的工具类,提供了很多的方法;

 获取伪随机数,取值范围:[0.0,1.0)

 public static double random():

快速使用: 

Math.random()---获取一个随机数

猜数字

1)需要产生一个随机数:java.lang.Math 里面的功能random()产生一个1-100之间的随机数

2)创建一个键盘录入对象,录入int类型

3)录入的数据要和Math里面产生的1-100之间数据进行对比,

        如果大了,提示 "你要猜的数据大了"

        如果小了,提示"你要猜的数据小了"

        如果一致,提示"恭喜您,猜对了"

        结束死循环,break ;

 for循环嵌套

九九乘法表

 3流程控制语句

break

continue

两个都在循环中使用居多;

         break:结束中断,结束循环语句也可以结束switch语句,应用范围比continue大        

         continue:仅仅在循环中使用,表示"结束当期循环,立即进入下一次循环"

retur

        就是结束方法的,一般很少在方法中单独使用;

        结合有具体返回值类型的方法的使用(有具体返回值类型,必须有结果,否则报 错),结束之前必须有一个结果

return----引入Java中的方法

        方法:给某段代码,使用{}包裹起来,给这个{}起一个名字,方法名,就可以有相同业务逻 辑代码,直接使用方法名调用,提高代码的复用性;

        注意事项: 写代码,以后不能把所有的东西都放在main方法中写

方法定义格式

        有具体返回值方法的定义格式

        固定写法:

                public static 返回值类型 方法名(形式参数类型1 参数名1,形式参数类型2 参 数名2,....)

                        {

                                 //完成功能业务逻辑

                                 ...         

                                return 具体结果;

                }

        有具体返回值类型的方法的调用格式

                main方中

                赋值调用

                接收的结果类型 变量名 = 方法名(实际参数1,实际参数2,...) ;

                 实际参数:直接赋值或者main中键盘录入

day9

1.没有具体返回值类型的方法定义和调用

当某个业务逻辑里面比如完成的数据的直接输出,展示数据

或 业务逻辑中可能数据某个数据在进行排序 数据交换

还有遵循昨天有具体返回值类型的方法定义格式:

这种方法在定义的时候

没有没有具体的结果是直接输出在控制台上,

此时java提供了一个关键字 void,代替返回值类型(Java定义方法语法的要求:需 求没有具体返回结果,就是用void)

格式定义:

        public static void 方法名(形式参数类型1 参数名称1,形式参数类型2 参数 名2,....){

}

完成如下一个操作 

键盘录入一个数据n,n为int类型

 控制台输出 nn乘法表:

未定义方法:

 定义方法:

方法重载

overload   方法重载:

为了某个功能扩展性,多个方法方法名可以相同(完全相同),参数列表不同,与 返回值无关

参数列表不同

1)参数个数不同

2)参数类型不同

3)考虑参数类 型的顺序

 public static double open(double a,int b){}

数组

数组一种容器 ,容器只能存储同一种类型的元素

数组的定义格式

        数组类型[ ]        数组名称;

                int [ ]arr;   //定义了一个int类型的数组arr变量

        数组类型   数组名称[ ];

                int arr [ ];   //定义了一个int类型的arr数组变量

初始化;两种

动态初始化;

        数据类型[] 数组名称 = new 数据类型[数组长度];

        int[] arr = new int[3] ;

        int arr[] = new int[3] ;

静态初始化;

        数据类型[] 数组名称 = new 数据类型[]{元素1,元素2....} ;

        简写格式

        数据类型[] 数组名称 = {元素1,元素2....} ; i

        nt[] arr = {11,22,33} ;

创建一个数组的注意事项

初始化的时候不能动静结合: 不能够同事动态和静态初始化,只能有一种

遍历一个数组的步骤

day10

数组的其他基本应用

最值问题:最大值

数组元素查表法 :通过数组名称[索引值]确定元素

基本元素查询:查询数组中某个元素的角标值 int[] arr = {87,56,13,24,17};

        弊端: 每次查询元素的时候,都是从头查到尾

高级数组中的元素:二分搜索法(折半查询) :高级查询算法

方法中基本类型作为参数传递和引 用类型作为参数传递的区别

基本数据类型作为方法参数传递的时候,传递的是值,并不是基本数据类型所存的地址。
引用类型作为方法参数传递的时候,传递的是引用,当我们通过引用改变变量的内容的时候,由于两个对象的地址指向同一块内存区域,所以可以成功改变值。

数组的高级排序算法 :冒泡排序

思想:两两比较,较大的值往后方法,第一次比较完毕,最大值出现在最大索引处

遍历:

 冒泡:

 面向对象的思想特点以及特征

 面向对象基于面向过程,面向过程的代表:C语言;

面向对象基于面向过程

面向对象思想特点:

1)更符号生活中的思想行为习惯

2)让复杂的事情简单化

3)让我们从执行者变成指挥者

举例:生活中的例子

面向对象的三大特征:        

                 封装,继承,多态

什么是类

类,        是能够描述现实世界事物一组属性和行为的集合;

事物:        一定现实真实存在的

类和事物的关系:一一对应的关系

  Java中规定,需要定义类描述这个事物 ,Java中最基本单元就是类

代码体现 描述哪一个事物            

class 类名{ //类名:满足标识符的规范: 见名知意 }

day11

基本类型作为形式参数和引用类型 (数组,类,接口) 作为形式参数的特点?

基本类型作为形式参数,形式参数改变不影响实际参数;

引用类型作为形式参数,形式参数的改变直接影响实际参数;

权限修饰符--- >private

如果学生的年龄,手机价格,,赋值的时候可以随便赋值,可能出现非法数据"负数"

描述事务的时候,需要定义类,类中的所有的成员变量(现实世界事物的属性) ,必须都是私有化private;

封装

就是将显示世界事物的属性隐藏了(加入一个关键字private),私有的,无法直接访问的,对外数据的安全性!(外界不能访问的)对外提供一个方法,公共的(public)访问方法(setXXX()/getXXX())

        注意事项:

        以后在书写的代码的时候,写一个类,描述真是存在事物的属性的时候, 需要属性(英文单词字母全部小写)全部加入private

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值