一篇内容带你学好Java基础

java基础上

1.注释

1.1单行注释

单行注释只能注释一行文字

// 我是单行注释

1.2多行注释

多行注释可以注释一段文字

/*

我是多行注释

我是多行注释

我是多行注释

*/

1.3文档注释

会被识别

/**

*@Author hu

*/

1.4注释总结

平常写代码一定要写注释,是一个非常好的习惯

2.标识符

2.1关键字

 

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

2.2标识符注意点

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始

  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或者数字的任何字符组合

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

  • 标识符是大小写敏感的

  • 合法标识符举例:age、$salary、_value、 _1_value

  • 非法标识符举例:123abc、-salary、#abc

  • 可以用中文,但是一般不建议使用,也不建议使用拼音

3.数据类型

3.1强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用,例如:Java、c

3.2弱类型语言

例如:JavaScript

3.3java的数据类型分为两大类

  • 基本类型

  • 引用类型

3.3.1基本数值类型

(1)数值型

整数类型、浮点类型和字符类型

  • 整数类型 byte 一个字节范围:-128~127

    short 两个字节范围:-32768~32767

    int 四个字节范围

    long 八个字节范围浮点类型

  • 浮点类型

    float 四个

    double 八个字节

  • 字符类型

(2)boolean类型

占一位其值只有true、false

public class Demo02 {
    public static void main(String[] args) {
       //八大基本数据类型
​
        //整数
        int num1 = 10;//最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 40L;//Long类型要在数字后面价格L
​
​
        //小数:浮点数
        float num5 = 25.1f;//float类型要在数字后面加
        double num = 3.1415926;
​
        //字符
        char name = 'h';
​
        //字符串 String不是关键字
        String name1 = "hu";
​
        //布尔值
        boolean flag = true;
        boolean flag1 = false;
    }
}

3.3.2引用数据类型

(1)类

(2)接口

(3)数组

3.4整数的拓展

进制

  • 二进制0b

  • 十进制

  • 八进制0

  • 十六进制0x

写在数字前边,将该进制数字转换为十进制

public class Demo03 {
      public static void main(String[] args) {
          //整数扩展:进制 二进制0b 十进制 八进制0 十六进制0x
  
          int i = 10;
          int i1 = 0b10; //二进制0b
          int i2 = 010;  //八进制0
          int i3 = 0x10;  //十六进制0x
  
          System.out.println(i);
          System.out.println(i1);
          System.out.println(i2);
          System.out.println(i3);
  
      }
  }

运行结果如下:

3.5浮点数拓展

最好完全避免使用浮点数进行比较

public class Demo04 {
    public static void main(String[] args) {
​
        //浮点数拓展    银行业务怎么表示
        //float  有限  离散  舍入误差   接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
​
        float f = 0.1f;//0.1
        double d = 0.1;//0.1
​
        System.out.println(f==d);//输出结果false
​
        float d1 = 234568799999999656f;
        float d2 = d1 + 1;
​
        System.out.println(d2==d1);//输出结果ture
    }
}
​

运行结果如下:

 

3.6字符的拓展

字符的本质还是数字

一些转义字符,如:\t \n

public class Demo05 {
    public static void main(String[] args) {
​
        //字符的拓展
​
        char c1 = 'h';
        char c2 = '胡';
​
        System.out.println(c1);//输出结果为 h
        System.out.println((int)c1);//强制转换  //输出结果为104
        System.out.println(c2);//输出结果为hu
        System.out.println((int)c2);//强制转换   //输出结果为32993
​
        //所有的字符本质还是数字
        //编码 Unicode 表(97 = a 65 = A)   2字节 65536 Excel 2 16 = 65536
​
        //U0000 ~ UFFFF
​
        char c3 = '\u0061';
​
        System.out.println(c3);//输出结果a
​
        //转义字符
        // \t 制表符
        // \n 换行
​
        System.out.println("hello\tworld");//输出结果为hello world
        System.out.println("hello\nworld");
        /*
        输出结果为
        hello
        world
         */
    }
}

运行结果如下:

 

3.7布尔值拓展

新手和老手的区别

if(flag = ture)//新手
if(flag)//老手

4.类型转换

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

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

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

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

4.1强制转换

发生在高-->低的时候 (类型)变量名

4.2自动转换

发生在低-->高的时候

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

public class Demo06 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//内存溢出
        double c = i;
​
        //强制转换  (类型)变量名  高-->低
        //自动转换   低-->高
​
        System.out.println(i);//输出结果为128
        System.out.println(b);//输出结果为-128
        System.out.println(c);//输出结果为128.0
        System.out.println((int)45.1);//45
        System.out.println(((int)-45.12F));//-45
​
        char c1 = 'a';
        int d = c1 + 1;
        System.out.println(d);//输出结果为98
        System.out.println((char)d);//输出结果为b
​
    }
}

运行结果如下:

操作比较大的数的时候,需注意溢出问题

public class Demo7 {
    public static void main(String[] args) {
        int money = 10_0000_0000;
        int years = 20;
        int total1 = money*years;
        int total2 = money*years;//在这里已经默认是int型
        System.out.println(total1);//输出结果为-1474836480,计算的时候溢出了
        System.out.println(total2);//输出结果同上,转换之前已经存在问题了
        long total3 = money * ((long)years);//先把一个数转换为long
        System.out.println(total3);//输出结果为:20000000000
        
        //防止将l看为1,故一般long类型的后缀L,一般用大写L
    }
}

运行结果如下

 

5.变量和常量

5.1变量

变量是可以变化的量

Java是一种强类型语言,每个变量都必须声明其类型。

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

type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值;可以用逗号隔开来声明多个同类型的变量(但是不建议)

注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  • 变量名必须是合法标识符。

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

试例如下

public class Demo08 {
    public static void main(String[] args) {
        //int a,b,c;不建议
        int a = 1;
        int b = 2;
        int c = 3;
        String name = "hu";
        char H = 'h';
        double d = 123847;
        float f = 27391.213444f;
        boolean flag = true;
        byte t = 12;
    }
}

5.2 变量的作用域

  • 类变量

  • 实例变量

  • 局部变量

public class Demo09 {
​
    //类变量static
    static  double salary = 2500;
​
    //属性:变量
​
    //实例变量:从属于对象:如果不进行初始化,会变成这个类型的默认值
    //布尔值:默认是false
    //除了基本类型,其余的默认值都是null;
    String name;
    int age;
​
    //main方法
    public static void main(String[] args) {
​
        //局部变量:必须声明和初始化值
        int i = 10;
        System.out.println(i);//10
​
        //变量类型 变量名字 = new Demo09();
        Demo09 demo09 = new Demo09();
        System.out.println(demo09.age);//0
        System.out.println(demo09.name);//null
​
        //类变量static
        System.out.println(salary);//2500.0
​
​
    }
​
    //其他方法
    public void add(){
​
    }
}

运行结果如下:

 

5.3常量

常量:初始化后不能再更改的值!不会变动的值

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

final 常量名=值;
final double PI = 3.14;

常量名一般用大写字符

public class Demo10 {
    //修饰符,不存在先后顺序
    static final double PI = 3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

5.4变量的命名规范

  • 所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary 除第一单词以外,后面的单词首字母大写

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:Hn,GoodHn

  • 方法名:首字母小写和驼峰原则:run(),runRun()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值