zoukankan      html  css  js  c++  java
  • javaSE温习一&二

    这是一个简单的笔记  

    涉及到常量、变量;流程控制语句、数组;类与对象、封装、构造方法;Scanner类、Random类、Arraylist类;



    1、pubic class  static void


    2、标识符应用场景L:类的名字、方法的名字、变量的名字    
    标识符包含的内容:数字、字母、下划线、美元符号、
    不能以数字开头
    标识符不能是关键字

    命名规范
    类名 首字母大写,后面每个单词首字母大写(大驼峰式)
    方法名:首字母小写,后面每个单词首字母大写(小驼峰式)
    变量名:全部小写

    3、基本数据类型:byte short int long double float char  boolen  
    引用类型:类、数组、接口

    变量名称:在同一个大括号内,变量名字不可以相同
    变量赋值:定义的变量,不赋值不能使用

    变量类型转换,调用的是ASC编码



    4、方法
    方法必须定义在一个类中方法外
    方法不能定义在另外一个方法里面





    5、流程控制语句

    5.1.1 判断语句--if
    if(关系式){
        语句体;
    }

    5.1.2 判断语句--if。。。else
    if(关系式){
    //满足
     语句体1;
    } else{
    //不满足
    语句体2;
    }

    5.1.3 判断语句 --if。。。else if。。。else
    if (判断条件1){
     执行语句1;
    }else if (判断条件2){
    执行语句2;
    } else if (判断条件n){
    执行语句n;

    } else {
    执行语句n+1;
    }

    5.2 选择语句
     switch (表达式){
     case 常量1:
     语句体1;
     break;
     case 常量2 ;
     语句体2;
     break;
     ...
     default :
     语句体n+1;
     break;
     }
     首先计算出表达式的值 其次,和case依次比较,
     一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
     最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉
     
     在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,
     或者整体switch结束
     
     5.3循环
     5.3.1循环语句 --for
     for (初始化表达式;布尔表达式;步进表达式){
         循环体
     }
     练习:使用循环求100以内的偶数和
     5.3.2 --while
     
     初始化表达式;
     while (布尔表达式){
        循环体;
        步进表达式;
     }
     练习:while循环输出10次hello world
     
     5.3.4 --do while循环
       初始化表达式;
       do{
          循环体;
          步进表达式;

       }   while(布尔表达式);
     
    循环语句的区别:
    for 和 while 的区别
    控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继 续使用,
    如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消 失,能够提高内存的使用效率。
    在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while

    5.4 跳转语句
    5.4.1 break语句
    使用场景:终止switch或者终止

    5.4.2 continue
    使用场景:结束本次循环,继续下一次循环



    6、调用方法三种形式
    直接调用 、赋值调用、输出语句调用

    7、方法重载
    指在同一个类中,允许存在一个以上的同名方法,只要他们的
    参数列表不同即可,与修饰符和返回类型无关
    参数列表:个数不同、数据类型不同、顺序不同



    8 、数组
    8.1数组的定义
    方式1  int[] arr = new int[3]//数组的长度一旦指定,就不能改变
    方式2  int[] arr = new int []{1,2,3,4,}
    方式3  int[] arr = {1,2,3,4}

    8.2数组的常见操作
    1、数组越界异常:在开发中,数组越界异常是不能出现的,一旦出现了,就必须修改我们的编码
    2、数组空指针异常:同上
    3、数组的遍历:
    public static void  mian(...) {
       int[] arr = new {1,2,3,4,5};
       for (int i =0;i < arr.lenegth;i++){
          syso(arr[i]);
       }
    }
    4、数组获取最大值元素
    实现思路:
    定义变量,保存数组0索引上的元素
    遍历数组,获取出数组中的每个元素
    将遍历到的元素和保存数组0索引上值的变量进行比较
    如果数组元素的值大于了变量的值,变量记录住新的值
    数组循环遍历结束,变量保存的就是数组中的最大值

    psvm{
     int[] arr  = new {5,13,15,200,3300};
     //定义变量,保存数组0索引上的元素
     int max = arr [0];
     //遍历数组,获取出数组中的每个元素
     for (int i=0;i<arr.length;i++){
     //遍历到的元素和变量比较
     //如果数组大于max
       if (arr[i]>max){
       max =arr[i];
       }
     }
     syso ("数组的最大值为"+max);
    }
    5、数组的反转
    数组的反转: 数组中的元素颠倒顺序,例如原始数组为1,2,3,4,5,反转后的数组为5,4,3,2,1
    实现思想:数组最远端的元素互换位置。
    实现反转,就需要将数组最远端元素位置交换
    定义两个变量,保存数组的最小索引和最大索引
     两个索引上的元素交换位置
     最小索引++,最大索引--,再次交换位置 最小索引超过了最大索引,数组反转操作结
     练习
     public static void main(String[] args){
        int[] arr = {1,2,3,4,5};
        /*
        循环中定义变量min=0最小索引
        max=arr.length-1最大索引
        min--,max ++;
        */
        for (int min =0,max = length-1;min < max ;min --,max ++){
        //利用第三方变量完成数组中元素交换
        int tepm =arr[min];
        arr[min]=arr[max];
         arr[max ]=temp;
         }
         //反转后,遍历数组
         for(int i=0;i<arr.length-1;i++){
           System.out.println(arr[i]);
         }
    }
     
    第四章  数组作为方法参数和返回值 4.1 数组作为方法参数
    以前的方法中我们学习了方法的参数和返回值,但是使用的都是基本数据类型。那么作为引用类型的数组能否作为 方法的参数进行传递呢,当然是可以的。
    数组作为方法参数传递,传递的参数是数组内存的地址。

    数组可以作为方法参数、数组可以作为返回类型
    方法的参数类型区别
    方法的参数为基本类型时,传递的是数据值,方法的参数为引用类型时,传递的是地址

     
     应深入理解对象内存图   章节、类与对象
     
     在类中的位置不同 重点
     成员变量:类中,方法外
     局部变量:方法中或者方法声明上(形式参数)
     作用范围不一样 重点
     成员变量:类中
     局部变量:方法中
     初始化值的不同 重点
     成员变量:有默认值
     局部变量:没有默认值。必须先定义,赋值,最后使用
     在内存中的位置不同 了解
     成员变量:堆内存
     局部变量:栈内存
     生命周期不同 了解
     成员变量:随着对象的创建而存在,随着对象的消失而消失
     局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
     
     Scanner 类与random类
     system.in 表示键盘录入的数据
     .nextInt表示录入的整数
     
    练习:
    键盘录入三个数据并获取最大值,代码如下:
    import Scanner
    public  class TestScanner{
         psvm {
            //创建对象
            Scanner sc = new Scanner(system.in );
            //接收数据
            System.out.println("请输入第一个数据:");
            int a = sc.nextInt();
            System.out.println("请输入第二个数据:");
            int b = sc.nextInt();
            System.out.println("请输入第三个数据:");
            int c = sc.nextInt();
            
            //获取三个数据的最大值
            int temp = (a>b?a:b);
            int max =(temp>c?temp :c);
            
            syso("max :"+max );
         }
    }

    random 类

    练习 游戏开始时,会随机生成一个1-100之间的整数 number 。
    玩家猜测一个数字 guessNumber ,会与 number 作比 较,
    系统提示大了或者小了,直到玩家猜中,游戏结束
    //导包
    import java.util.Random;
    public class Test02Random {  
     public static void main(String[] args) {  
       // 系统产生一个随机数1‐100之间的。
         Random r = new Random();
         int number = r.nextInt(100) + 1;
         while(true){
           // 键盘录入我们要猜的数据
           Scanner sc = new Scanner(System.in);
           System.out.println("请输入你要猜的数字(1‐100):");
           int guessNumber = sc.nextInt();
             // 比较这两个数据(用if语句)
           if (guessNumber > number) {
             System.out.println("你猜的数据" + guessNumber + "大了");
           } else if (guessNumber < number) {
             System.out.println("你猜的数据" + guessNumber + "小了");
           } else {
             System.out.println("恭喜你,猜中了");
             break;
           }
         }
       }
     
    ArryList

    常用方法和遍历
    对于元素的操作,基本体现在——增、删、查。常用的方法有:
     public boolean add(E e) :将指定的元素添加到此集合的尾部。
     public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
     public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
     public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界
     
     ArrayList对象不能存储基本类型,只能存储引用类型的数据。
     类似 <int> 不能写,但是存储基本数据类型对应的包装类型是可以的。
     所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写
     
     
    练习:
    生成6个1~33之间的随机整数,添加到集合,并遍历
    public class Test01ArrayList {
       public static void main(String[] args) {
     //创建Random对象
     Random random = new Random();
     //创建Arrylist对象
     ArrayList<Integer> list = new ArrayList<>();
     
     //获取随机整数添加到集合
     for (int i= 0;i<6;i++){
       int r  = random.nextInt(33)+1;
       list.add(r);
     }
       //遍历籍集合输出
       for(int i= 0;i<list.size ;i++){
          syso (list.get(i));
        
       }
      }
     }
     
     ¥¥¥¥¥¥明天一定要回来看一下之前的笔记
     ################伪随机数,数组 最后的一个综合练习还没做,明天一定要回来做做了
     
     

  • 相关阅读:
    AGC 044 A
    example
    python3遇到的问题
    构建开发环境
    pandas处理数据
    pandas.DataFrame对象解析
    pandas再次学习
    监督式学习
    机器学习的基础概念
    赖世雄老师的音标课,旋元佑老师的语法书
  • 原文地址:https://www.cnblogs.com/toufajiantuzhongbuhui/p/11890831.html
Copyright © 2011-2022 走看看