java学习笔记(一)

来源:互联网 发布:大恒软件技术有限公司 编辑:程序博客网 时间:2024/06/05 16:26

   在先学习了c++,再学习了c#,最后学习了java,经过一年半的遗忘,今天又重新温习java。将笔记写下来共勉(开发环境为eclipse)。

  1.新建项目及命名规则:

            工程名不能用中文;

           包名不能用中文且必须全小写(命名范围从大到小),例如:cn,yang.text(“.” 代表一级目录 "."的前后不能为空);

           类:不用中文,大写字母开始 且多个单词情况下首字母均大写;

          方法的命名,小写字母开始,多个单词情况下第二个单词首字母大写;

          变量名,小写字母开始,多个单词情况下第二个单词首字母大写,开头字符:_ 、$、 小写字母,其余字符:_ 、$、字母、 数字。

         首字母均不用数字。

  2.变量类型:int、double、float(赋值时以f结尾)、char、String、bollean(只有两种值:true和false)、 数组、自定义(class:属性和方法)

   小实例:需求:两个变量存储两个不同的数字,将数字交换,变量不变

               代码:

         int num1=10;
         int num2=8;
         //方法1,第三变量
         int temp=num1;
         num1=num2;
         num2=temp;
         System.out.println(num1+" "+num2);//若8 10 交换成功
        
         //方法2(继续用上面的运算结果)不借用第三变量
         num1=num1+num2;
         num2=num1-num2;//先给num2 这样num1中存放两数之和就能不改变 (这是利用赋值等式的特性,即右边参与运算的num1值不变,仅限于数值交换
         num1=num1-num2;
         System.out.println(num1+" "+num2);//若10 8 交换成功

  3.比较运算符(关系运算符)两个元素比较  >  <  >=  <=    ==  ===   equals(两个元素比较) ! (一个元素)
        字符串的比较
        String str="123";         //常量形式
        String str1="123";
        
        if(str==str1){                //用“==”
            System.out.println("对");
        }
        else{
            System.out.println("错");
        }
        
        System.out.println("请输入字符串");    
        String str3=new Scanner(System.in).nextLine();      //类的形式
        String str4="123";
        if(str3.equals(str4)){              //用“equals” ,若继续用“==”将报错
            System.out.println("对");
        }
        else{
            System.out.println("错");
        }

   4.流程控制语句 包括 顺序结构控制和选择控制结构

       if(      ){

      }else(   ){

     }

    多条件下,借助逻辑运算符:并且(&&)、或者(||)、非(!)(均为短路型逻辑运算)

        短路型逻辑运算举例

        boolean type1=false;
        boolean type2=false;
        if((type1=true)||(type2=true)){
            System.out.println("hello");
        };
        System.out.println(type1+" "+type2);

        输出

       hello(因为||在前一个条件正确后,就直接执行后面的内容,而不做后面一个条件的判断)

       ture false (赋值语句执行成功)

  5.遇见等值判断的情况 if选择结构 switch case选择结构 

    * 用百分制转换成五级打分制度
         * 100-90    A
         * 90-80      B
         * 80-70      C
         * 70-60      D
         * 60分以下 E
         */
        //最简单的if 选择结构
        int score=34;
        if(score<=100&&score>=90){
            System.out.println("A");
        }else if(score>=80){
            System.out.println("B");
        }else if(score>=70){
            System.out.println("C");
        }else if(score>=60){
            System.out.println("D");
        }else{
            System.out.println("E");
        }

      //有趣的switch结构

        int score1=100;
        switch (score1 / 10) {
        case 10:  //对于100这个分数,不做任何处理,也没有跳出switch语句,所以直接进入下一个case里执行
        case 9:
            System.out.println("A");
            break;
        case 8:
            System.out.println("B");
            break;
        case 7:
            System.out.println("c");
            break;
        case 6:
            System.out.println("D");
            break;
        default:
            System.out.println("E");
            break;

        }       

     运用以上特性的小实例:

     需求:
         * 食堂的优惠菜谱:
         *   一 二 鱼香肉丝
         *   三 四 宫保鸡丁
         *   五 六 水煮鱼
         *   日    啤酒免费
         * 输入星期数 输出特价菜
       
        System.out.println("请输入星期数");
        int x=new Scanner(System.in).nextInt();
        switch(x){
        case 1:
        case 2:
            System.out.println("鱼香肉丝");
            break;
        case 3:
        case 4:
            System.out.println("宫保鸡丁");
            break;
        case 5:
        case 6:
            System.out.println("水煮鱼");
            break;
        default:
            System.out.println("啤酒免费");
            break;
            
        }

   //较复杂的switch嵌套
         * 需求2:
         *   菜单的打印
         *    第一级菜单:1.登陆
         *              2.休闲游戏
         *              3.退出
         *     选择菜单编号:
         *         进入二级菜单:
         *            选择1:
         *               1.用户信息管理
         *               2.学生信息管理
         *               3.教师信息管理
         *               4.退出
         *               选择菜单编号
         *                  选择谁 输出 对应的菜单名称
         *             选择2:
         *               1.人机猜拳
         *               2.俄罗斯轮盘赌
         *               3.退出
         *               选择菜单编号
         *                  选择谁 输出 对应的菜单名称
         *             选择3
         *               退出系统
        System.out.println("1.登录");
        System.out.println("2.休闲游戏");
        System.out.println("3.退出");
        System.out.println("选择菜单编号");
        int x=new Scanner(System.in).nextInt();
        switch(x){
        case 1:
            System.out.println("1.用户信息管理");
            System.out.println("2.学生信息管理");
            System.out.println("3.教师信息管理");
            System.out.println("4.退出");
            System.out.println("选择菜单编号");
            int y=new Scanner(System.in).nextInt();
            switch(y){
            case 1:
                System.out.println("用户信息管理");
                break;
            case 2:
                System.out.println("学生信息管理");
                break;
            case 3:
                System.out.println("教师信息管理");
                break;
            default:
                System.out.println("退出");
                break;
            }
            break;
        case 2:
            System.out.println("1.人机猜拳");
            System.out.println("2.俄罗斯轮盘赌");
            System.out.println("3.退出");
            System.out.println("选择菜单编号");
            int z=new Scanner(System.in).nextInt();
            switch(z){
            case 1:
                System.out.println("人机猜拳");
                break;
            case 2:
                System.out.println("俄罗斯轮盘赌");
                break;
            default:
                System.out.println("退出");
                break;
            }
            break;
        default:
            System.out.println("你已经退出系统");
            break;
        }

     //特性和嵌套并用

    *
         * 需求3:
         *    输入攻击力
         *    根据攻击力的值,判断星级
         *    0~1000 *
         *    1000~2500 **
         *    2500~5000 ***
         *    5000~10000 ****
         *    10000~      *****
         *    
         *    switch case实现
         */
        System.out.println("请输入攻击力");
        int x=new Scanner(System.in).nextInt();
        int y=x/500;
        switch(y){
        case 0:
        case 1:
            System.out.println("*");
            break;
        case 2:
        case 3:
        case 4:
            System.out.println("**");
            break;
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
            System.out.println("***");
            break;
        default:
            switch(x/5000){
            case 1:
                System.out.println("****");
                break;
            default:
                System.out.println("*****");
                break;
            }
            break;
        } (应该有更简单的划分方法)

到此为止!

原创粉丝点击