2021.9.15Java基础

2021.9.15

三大开发工具

JDK(包含jre和jvm,还有自己工具java和javac等等)

JRE(运行时环境,包含虚拟机,和一些简单的函数、库、文件等等)

JVM(java虚拟机,模拟了一个小巧的cup运行java)

HelloWold

1.新建文件夹,存放代码

2.新建一个Java文件

3.编写代码

public class Hello{
   public static void main(String[] args){
       System.out.println("Hello,World!");
  }
}

4.编译文件javac java文件(在文件所在目录下编译)

5.运行class文件,java 文件名

 

Java运行机制

编译型:负责翻译程序,将高级语言变成机器语言

解释型:边写边翻译

IDEA入门

psvm快速打出public static void main(String[] args){ }

sout快速打出System.out.println();

注释

//这是一个注释(单行注释)

/* 这是一个注释*/(多行注释)

//JavaDos:文档注释

/**

*@Description

*/

标识符

Java所有的组成部分都需要名字,类名、变量名以及方法名都被称为标识符

标识符只能以字母,$,下划线_开头

不能使用关键字作为变量名或者方法名

标识符是大小写敏感的

编写代码最好使用英文

 

数据类型

强类型语言:要求变量十分规范,所有变量必须定义再使用(安全性高,但是速度慢)

基本类型
  1. 整数

  2. 浮点数(小数)float4个字节,double占8个

  3. 字符类型char占2个字节

    Boolean类型占一位

    public class demo02 {
       public static void main(String[] args) {
           //八大基本数据类型
           //整数
           int num1 = 102222;  //最常用
           byte num2 = 20;
           short num3 = 30;
           long num4 = 30L; //Long类型要在后面加一个L

           //小数:浮点数
           float num5 = 50.1F;//Float类型要在数字后面加个F
           double num6 =3.14159265358;

           //字符型
           char name0 = 'a';
           //字符串,String不是关键字,类
           String name1 = "龙玉芹";

           //布尔值
           boolean flag1 = true;
           boolean flag2 = false;
      }
    }
    public class demo03 {
       public static void main(String[] args) {
           //整数拓展:     进制   二进制0b     十进制     八进制0     十六进制0x
           //
           int i = 10;
           int i2 = 010;    //八进制
           int i3 = 0x10;    //十六进制0x 0~9 A~F 16

           System.out.println(i);
           System.out.println(i2);
           System.out.println(i3);
           System.out.println("-----------------------------------------------------");
           //--------------------------------------------------------------------------
           //浮点数拓展
           //float     有限   离散     含有误差   大约   接近但不等于
           //double
           //最好完全避免使用浮点数进行比较
           //最好完全避免使用浮点数进行比较
           //最好完全避免使用浮点数进行比较

           float f = 0.1f;
           double d = 1.0 / 10;

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

           float d1 = 232323234324324f;
           float d2 = d1 + 1;
           System.out.println(d1 == d2);

           //-----------------------------------------------
           //字符串扩展
           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   2字节 65536   Excel


           //转义字符
           // \t   制表符
           // \n   换行
           System.out.println("HEllo\tWorld");
           System.out.println("Hello \nWorld");

           //-----------------------------------------------------------------------
           //布尔值扩展
           boolean flag = true;
           if (flag == true) {}      //新手
           if (true) {}              //老手
           //两者一样,代码应该更为精简一些
      }
    }

     

引用类型

类,接口,数组

类型转换

由于Java是强类型语言,所以要进行运算的时候,有时需要用到类型转换。

低--------------------------------------------------------高

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

(小数的优先级一定大于整数)

运算中,不同类型的数据先转换为同一类型,再进行运算。

强制类型转换

自动类型转换

public class demo04 {
   public static void main(String[] args) {
       int i =128;
       /*byte b = (byte)i;*/   //内存溢出
       double b = i;
       //强制转换     (类型)变量名     高--低
       // 自动转换         低--高
   
       System.out.println(i);
       System.out.println(b);

       /*
       注意点:
       1. 不能对布尔值进行转换
       2.不能把对象类型转换为不相干的类型
       3.把高容量转到低容量时 ,强制转换
       4.转换时可能存在溢出,或者精度问题
        */

       System.out.println("----------------------");
       System.out.println((int)23.7);
       System.out.println((int)-45.89f);
       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 = 100_0000_000;
       int years = 20;
       int total1 = money * years;   //溢出
       long total2 = money * years;    //默认是int,转换之前已经存在问题
       long total3 = money * ((long)years);   //把其中一个数转换成long类型
       System.out.println(total3);
  }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-09-16 09:25  YTDISAKLSAD  阅读(260)  评论(0)    收藏  举报