zoukankan      html  css  js  c++  java
  • java实训day2_标识符_关键字_数据类型_运算符_流程控制

    day2学习内容

    标识符和关键字

    • 标识符
      • 需要用户自己定义的符号
      • 由 字母,数字,_,$组成
      • 首字符不能为数字,Java关键字
      • 大小写敏感
      • 长度不受限
    • 标识符分类与命名规则
      • 变量和方法:第一个单词小写字母开头,后面单词首字母大写
      • 类名:第一个单词大写,单词缩写每个单词都大写
      • 包:都小写
      • 常量:都大写,指出常量的完整意义
      • 见文识意,用对应英文单词!!
    • 关键字 慢慢学就都知道了

    变量和常量

    • 变量 在程序运行时值可变的标识符.在内存中时一段由名字的连续存储空间type varName[=value];

      ​ tips: 1. [ ]代表可有可无

      ​ 2.黄色波浪线表示当前变量未被使用或其他警告,减少脏代码

    • 常量 在程序运行时值不可以改变的标识符. 使用 final关键字,声明时必须初始化, final int VALUENAME = value;

    Java数据类型

    • 基本数据类型

      • 数值型

        • 整数类型
          • byte(不建议使用)
          • short(不建议使用)
          • int: 4 个字节
          • long: 8个字节, 超过9个9用它, 赋值时在数字末尾写L
        • 浮点类型
          • float:4个字节,后面加F
          • double:8个字节
      • 字符型: char

        • 2个字节

        • 注意字符编码问题

        • 转义字符 Linux下 回车到一行的头上

          ​ 换行到下一行当前位置

      • 布尔型(Boolean):值只为ture或false,不是0或1

    • 引用数据类型(除基本类型的所有)

      • 接口
      • 数组
      • 字符串等

    tips: 1. 所有基本类型存在栈中

    1. 引用类型值存在堆中,栈中存堆中地址的引用,所以叫引用类型
    2. 栈比较小,堆很大
    3. 关于long型赋值需要加L :java默认整型数据为int类型,开辟的临时空间为int型,小于要输入的值的大小,所以在赋值时给数字后面写L使得开辟long型临时空间.
    4. 浮点型默认为double型
    5. 小转大自动转,大转小强转,注意精度丢失
    6. 小作业,了解字符编码过程

    成员变量和局部变量

    • 成员变量:又称为全局变量,在类中方法外,系统默认赋值
    • 局部变量: 方法中的变量,声明时最好赋值,否则可能出错

    Java运算符

    • 和c/c++一样
    • 逻辑运算符(与c/c++有点区别):
      • 短路与 &&
      • 短路或 || (他俩性能高)
      • 与&
      • 或|
      • 非!
    • 运算符优先级

    流程控制

    • if (和c/c++一致)

      • 单分支 条件成立执行操作

      • 双分支 成立一个操作,不成立一个操作

      • 多分支

      • 嵌套

      • 小练习 :输入成绩,根据成绩所处区间给予评价,0-100分.

        import java.util.Scanner;
        public class Day2Test1 {
            public static void main(String[] args){
                System.out.println("输入成绩");
                Scanner input = new Scanner(System.in);
                double grade = input.nextDouble();
                if(grade>=90&&grade<=100)
                    System.out.println("真棒");
                else  if(grade>=80&&grade<90)
                    System.out.println("优秀");
                else  if(grade>=70&&grade<80)
                    System.out.println("一般");
                else  if(grade>=60&&grade<70)
                    System.out.println("良");
                else
                    System.out.println("没有及格");
            }
        }
        
        

      上面代码给个界限判断

    • switch

      • 必须时等值判断,不能用于区间判断

      • 注意break与下坠

      • 相当于特殊的if,对应具体值的情况

      • 小练习判断对应月份的天数

        import java.util.Scanner;
        public class Day2Test2 {
            public static void main(String[] args) {
                System.out.println("请输入月份(数字)");
                Scanner input = new Scanner (System.in);
                int month = input.nextInt();
                switch(month){
                    case 1:
                        System.out.println(month+"月有31天");
                    break;
                    case 3:
                        System.out.println(month+"月有31天");
                        break;
                    case 5:
                        System.out.println(month+"月有31天");
                        break;
                    case 7:
                        System.out.println(month+"月有31天");
                        break;
                    case 8:
                        System.out.println(month+"月有31天");
                        break;
                    case 12:
                        System.out.println(month+"月有31天");
                        break;
                    case 2:
                        System.out.println(month+"月有可能是28天");
                        break;
                    case 4:
                        System.out.println(month+"月有30天");
                        break;
                    case 6:
                        System.out.println(month+"月有30天");
                        break;
                    case 9:
                        System.out.println(month+"月有30天");
                        break;
                    case 11:
                        System.out.println(month+"月有30天");
                        break;
                }
            }
        }//笨笨版
        
        
        import java.util.Scanner;
        public class Day2Test2 {
            public static void main(String[] args) {
                System.out.println("请输入月份(数字)");
                Scanner input = new Scanner (System.in);
                int month = input.nextInt();
                switch(month){
                    case 4:
                    case 6:
                    case 9:
                    case 11:
                        System.out.println(month+"月有30天");
                        break;
                    case 2:
                        System.out.println(month+"月有可能是28天");
                        break;
                    default:
                        System.out.println(month+"月有31天");
                        break;
                }
            }
        }//机智版
        

        上面代码给个界限判断

    • while循环

      • 既可做已知循环次数的循环也可以做不可知的循环次数
      • while
      • do while
    • for循环

      • 普通for: for(int i=0;i < n; i++)

        • i=0 ; i<n ; i++尽量不要更改写法,一般改n(循环次数)就行.
      • 增强for: for(Object obj : Array)

        • for each
        • 将数组内每一项取出
        • obj代表Array中每一个元素
      • 双重for:

        • out:for(int i=0;i < n; i++){
          	for(int j=0;j < n; j++)
            		{break out ;}
          }//跳出内循环同时跳出外循环
          
  • 相关阅读:
    SQL Server参数化查询
    MySQL平台数据库备份方案详细说明
    Android 关机弹出菜单
    android 4.1源码下载方法最新实例教程
    教你如何创建类似QQ的android弹出菜单
    三足鼎立已深入人心 移动开发平台前景展望
    Android上的蓝牙通信功能的开发:BluetoothChat例程分析
    Android经典动画案例分析
    Android使用FileObserver对sdcard文件或文件夹监控
    如何提高Android用户体验
  • 原文地址:https://www.cnblogs.com/zzz1zzz/p/14243479.html
Copyright © 2011-2022 走看看