第2天 第一个程序&IDEA安装&Java基础语法

第一个程序 Hello,World!

  1. 随便新建一个文件夹,存放代码
  2. 新建一个Java文件
    • 文件后缀名为java
    • Hello.java
    • 【注意点】系统可能没有显示后缀名,必须手动打开
  3. 编写代码
public class Hello{
	public static void main(String[] args){
		System.out.print("Hello,World!");
	}
		
}
  1. 编译 javac java文件(加后缀),会生成一个class文件
  2. 运行class文件 Java文件(不需要加后缀)

image-20210727111736527

可能遇到的情况

  1. 每个单词注意大小写
  2. 输出内容尽量用英文
  3. 文件名和类名(class)必须保持一致
  4. 符号使用了中文,必须用英文



IDEA安装

IDE:集成开发环境

  1. 百度搜索IDEA 下载安装
  2. 安装下一步下一步 注意只选 64-...和 java
  3. 安装后运行 新建项目 百度可以搜索IDEA性能优化,设置好后
  4. 新建一个空项目,new project----enpemty---打开后空项目new---Module--next--next---Finish
    打开后输入快捷键pvsm sout可快速输入



Java基础语法

  1. 注释
  • 单行注释://
  • 多行注释:/* 注释内容 */
  • 文档注释:/** * * */
  1. 标识符
  • 关键字
  • 所有标识符都应该以字母(A-Z或a-z),美元符号$、或下划线()开始
  • 首字符之后可以是字母(A-Z或a-z),美元符号$、或下划线()或数字的任意组合
  • 不能使用关键字作为变量名或方法名
  • 标识符的大小写是敏感的
  • 合法标识符举例:age、$salary、_value、 _1_value
  • 不合法标识符举例:123abc、-salary、#abc
  1. 数据类型
  • java属于强类型语言:要求变量使用要严格符合规定,所有变量必须定义后才能使用(安全性高,运行速度慢)

    1. 基本数据类型:

      • 数值类型 --->整数

        ​ --->浮点

        ​ -->字符

      • 布尔类型 true false

    2. 引用数据类型

      • 接口
      • 数组
public class Demo02 {
    public static void main(String[] args)
        //八大基本数据类型
        int num1 =  10;    //最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30L;     //long类型要在数字后面加个L
        //浮点数
        float num5 = 50.1F;   //浮点型要在数字后面加个F
        double num6 = 3.14159265
        //字符
        char name = '国';
        //String name = "zhaoweihang"
        //布尔型  是非
        boolean flag = true;
        boolean flag1 = false;
    }
}
public class Demo03 {
    public static void main(String[] args) {
        //整数拓展:   进制  二进制0b    十进制    八进制0   十六进制0x
        int i = 10;
        int i2 = 010; //八进制0
        int i3 = 0x10;   //十六进制0x  0-9  A-F   16
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("=============================");
        //====================================================
        //浮点数拓展?     银行业务怎么表示?钱
        //BigDecimal  数学工具类
        //====================================================
        //float   有限  离散  舍入误差  大约  接近但不等于
        //double
        //最好完全使用浮点数进行比较
        //最好完全使用浮点数进行比较
        //最好完全使用浮点数进行比较

        //尽量不用浮点数进行比较
        float f = 0.1f;  //0.1
        double d = 1.0/10;  //0.1

        System.out.println(f==d); //false

        float d1 = 2132123123123f;
        float d2 = d1 + 1;

        System.out.println(d1==d2);  //true

        //====================================================
        //字符拓展
        //====================================================
        System.out.println("=============================");
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println((int)c1);  //强制转换
        System.out.println(c2);
        System.out.println((int)c2); //强制转换
        //所有字符本质还是数字
        //编码  Unicode 表:97 = a  2字节   0-65536     2的16次方=65536

        char c3 = '\u0061';
        System.out.println(c3);  //a

        //转义字符
        //   \t  tab键     \n换行
        System.out.println("Hello\tWorld!");
        System.out.println("=============================");
        String sa = new String("hello world1");
        String sb = new String("hello world1");
        System.out.println(sa==sb);

        String sc = "hello world!";
        String sd = "hello world!" ;
        System.out.println(sc==sd);

        //对象   从内存分析

        //布尔值拓展
        boolean flag = true;

        if (flag==true){}  //新手
        if (flag) {}    //老手
        // less  is more  代码要精简易读

        }
    }
}

  1. 类型转换

    • 由于Java属于最强类型语言,所以需要有些运算的时候,需要用到类型转换

    ​ 低---------------------------------------------------------------->高

    ​ byte , short , char --->int-------->long------->double

    • 运算中,不同类型的数据必须转化为同一类型,才可进行运算
    • 强制类型转换
    • 自动类型转换



    public class Demo04 {
        public static void main(String[] args) {
            int i = 128;
            byte b = (byte) i;  //内存溢出
    
            //强制转换   (类型)变量名   高---->低
            //自动转换                  低----->高
    
            int i1 = 128;
           double b1 = i1;
    
            System.out.println(i);
            System.out.println(b);
            System.out.println(i1);
            System.out.println(b1);
    
            /*
            注意点:
            1.不能对布尔值进行转换
            2.不能把对象类型转换为不相干的类型
            3.在把高容量转换为低容量时候,强制转换
            4.转换的时候可能存在内存溢出或精度问题!
             */
            System.out.println("================================");
            System.out.println((int) 23.7);   //23
            System.out.println((int) 45.89F);   //45
            System.out.println("================================");
            char c = 'a';
            int d = c+1;
            System.out.println(d);
            System.out.println((char) d);
    
        }
    }
    
    
    public class Demo05 {
        public static void main(String[] args) {
            //操作比较大的数的时候,注意溢出问题
            //JDK7新特性, 数字之间可以用下划线分割,且不会被打印出
            int money = 10_0000_0000;
            System.out.println(money);
            int year = 20;
            int total = money*year;//-1474836480  计算的时候溢出了
            long total2 = money*year;//计算前就已经溢出了
    
            long total3 = money*((long)year);  //先转换在计算就不会溢出了
            System.out.println(total);
            System.out.println(total2);
            System.out.println(total3);
        }
    }
    
    
  2. 变量:可以变化的量

    • java是一种强类型语言,每个变量必须声明其类型

    • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

    • type  varName  [=value][{,varName[=value]{}];
      //数据类型  变量名  =   值;  可以使用逗号隔开来声明多个同类型变量,但是不建议单行定义多个变量
      
    • 主要事项:

      • 每个变量必须都有类型,类型可以是基本类型,也可以是引用类型
      • 变量名必须是合法标识符
      • 变量声明是一句完整的语句,因此每一个声明必须以分号结束。
    • 变量作用域

      • 类变量
      • 实例变量
      • 局部变量
      public class Veriable{
          static int allClicks=0;    //类变量
          String str = "hello world"; //实例变量
          
          public void method(){
              int i = 0;   //局部变量
          }
      }
      
      public class Demo07 {
      
          //类变量  static  即静态
          static double salary = 2500;
      
          //属性:变量
          //实例变量:从属于对象;如不自行初始化,输出这个类型的默认值 0.0.0
          //布尔值:默认值是false
          //除了基本类型,其余全是null;
          String name;
          int age;
      
          //main方法
          public static void main(String[] args) {
              //局部变量:必须声明和初始化
              int i =10;
              System.out.println(i);
              //变量类型  变量名字 = new Demo07();
              Demo07 demo07 = new Demo07();
              System.out.println(demo07.age);
              System.out.println(demo07.name);
      
              //类变量  static
              System.out.println(salary);
      
          }
          //其他方法
          public void add(){
              //System.out.println(i);
          }
      }
      
  3. 常量 初始化后不能改变的量! 不会变动的数值

    • 所谓的常量可以理解为一种特殊的变量,它的值被设定后,在程序运行中不允许改变

    • final 常量名= 值
      final double PI = 3.14;
      
    • 常量名一般使用大写字母

    • public class Demo08 {
          //修饰符  不存在先后顺序
          static final double PI = 3.14;
      
          public static void main(String[] args) {
              System.out.println(PI);
          }
      }
      
  4. 变量命名规范

    • 所有变量、方法、类名:见名知意
    • 类成员变量:首字母小写和驼峰原则 monthSalary
    • 局部变量:首字母小写和驼峰原则
    • 常量:大写字母和下划线 MAX_VALUE
    • 类名:首字母大写和驼峰原则 Man GoodMan
    • 方法名:首字母小写和驼峰原则 run() runRun()
posted @ 2021-07-27 16:03  Ariesmark  阅读(39)  评论(0编辑  收藏  举报