Java基础

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

标识符注意点

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始。
  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线或数字的任何字符组合
  • 不能使用关键字作为变量名或方法名。
  • 标识符是大小写敏感的
  • 合法标识符举例: age、$salary、_value、_1 _value
  • 非法标识符举例: 123abc、-salary、 #abc

数据类型

  1. 强类型语言
    • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
  2. 弱类型语言

Java的数据类型分为两大类

  • 基本类型
  • 引用类型

内置数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

byte:

  • byte 数据类型是8位、有符号的,以二进制补码表示的整数;
  • 最小值是 -128(-2^7)
  • 最大值是 127(2^7-1)
  • 默认值是 0
  • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
  • 例子:byte a = 100,byte b = -50。

short:

  • short 数据类型是 16 位、有符号的以二进制补码表示的整数
  • 最小值是 -32768(-2^15)
  • 最大值是 32767(2^15 - 1)
  • Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
  • 默认值是 0
  • 例子:short s = 1000,short r = -20000。

int:

  • int 数据类型是32位、有符号的以二进制补码表示的整数;
  • 最小值是 -2,147,483,648(-2^31)
  • 最大值是 2,147,483,647(2^31 - 1)
  • 一般地整型变量默认为 int 类型;
  • 默认值是 0
  • 例子:int a = 100000, int b = -200000。

long:

  • long 数据类型是 64 位、有符号的以二进制补码表示的整数;
  • 最小值是 -9,223,372,036,854,775,808(-2^63)
  • 最大值是 9,223,372,036,854,775,807(2^63 -1)
  • 这种类型主要使用在需要比较大整数的系统上;
  • 默认值是 0L
  • 例子: long a = 100000L,Long b = -200000L。
    "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

float:

  • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
  • float 在储存大型浮点数组的时候可节省内存空间;
  • 默认值是 0.0f
  • 浮点数不能用来表示精确的值,如货币;
  • 例子:float f1 = 234.5f。

double:

  • double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
  • 浮点数的默认类型为double类型;
  • double类型同样不能表示精确的值,如货币;
  • 默认值是 0.0d
  • 例子:double d1 = 123.4。

boolean:

  • boolean数据类型表示一位的信息;
  • 只有两个取值:true 和 false;
  • 这种类型只作为一种标志来记录 true/false 情况;
  • 默认值是 false
  • 例子:boolean one = true。

char:

  • char类型是一个单一的 16 位 Unicode 字符;
  • 最小值是 \u0000(即为 0);
  • 最大值是 \uffff(即为 65535);
  • char 数据类型可以储存任何字符;
  • 例子:char letter = 'A';。
 public static void main(String[] args) {
        //进制 二进制0b 十进制 八进制0 十六进制0x
        int i=10;
        int i2=010;//八进制0
        int i3=0x10;//十六进制0x 0-9 A-F
        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=232323232131213f;
        float d2=d1+1;
        System.out.println(d1==d2);//true
        //=======================================
        //字符拓展
        char c1='A';
        char c2='中';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换为int类型
        System.out.println(c2);
        System.out.println((int)c2);
        //所有字符本质是数字
        //编码 Unicode 表:(97=a 65=A) 2字节 0-65536 2 16
        //U0000 UFFFF
        char c3='\u0061';
        System.out.println(c3);
    //==================================
        //转义字符
        // \t 制表符
        // \n 换行

        String sa=new String("hello world");
        String sb=new String("hello world");
        String sc="hello world";
        String sd="hello world";
        System.out.println(sa==sb);
        System.out.println(sc==sd);
        //对象 从内存分析

        //布尔值扩展
        boolean flag=true;
        if(flag==true){}
        if(flag){}
        //Less is More! 代码要精简易读
    }

引用数据类型

  1. 接口
  2. 数组

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

  • 强制转换 (类型)变量名 高->低
  • 自动转换 低->高
byte, short, char -> int -> long -> float -> double
低----------------------------------------------->高

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
public class Variable
{
	static int allClicks=0;//类变量
	String str="hell0 world";//实例变量
	
	public void method()
	}
		int i=0;//局部变量
	}
}

常量

常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。

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

final double PI = 3.14

常量名一般使用大写字符。

变量的命名规范

  • 所有变量、方法、类名见名知意
  • 类成员变量:首字母小写和驼峰原则: monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线: MAX _VALUE
  • 类名:首字母大写和驼峰原则: Man, GoodMan
  • 方法名:首字母小写和驼峰原则: run(), runRun()

运算符

  • 算术运算符:+, -, *, / , %, ++, --
  • 赋值运算符=
  • 关系运算符:>, <, >=, <=, ==, !=, instanceof
  • 逻辑运算符:&&, ||, !
  • 位运算符:&, |, ^,~, >>,<<,>>>
  • 条件运算符?:
  • 扩展赋值运算符:+=, -=, *=, /=

字符串连接符

System.out.println(""+a+b);//字符串在前所以整个运算做了拼接
System.out.println(a+b+"");//字符串在后所以先运算再进行了拼接

包机制

为了更好地组织类, Java提供了包机制,用于区别类名的命名空间。

package pkg1[. pkg2[. pkg3...]];

一般利用公司域名倒作为包名。

为了能够使用某-个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能

import package1[.package2...].(classname|*);

JavaDoc

javadoc命令是用来生成自己API文档的。

  • @author作者名
  • @version版本号
  • @since指明需要最早使用的jdk版本
  • @param参数名
  • @return返回值情况
  • @throws异常抛出情况
posted @ 2021-03-20 12:19  Dazzling!  阅读(3)  评论(0编辑  收藏  举报