JAVASE----基础

基本介绍

标识符

可以简单的理解为一个名字。在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等。我们选择的名称就称为标识符,并且遵循以下规则:
A. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符。
B. 不能以数字开头。
C. 标识符是严格区分大小写的。
D. 标识符的命名最好能反映出其作用,做到见名知意。

关键字

在java语言中已经被赋予特定意义的一些单词。一共有53个关键字。其中有两个保留字:const和goto。关键字不能被用作标识符!!
在这里插入图片描述

注释

java代码的解释说明,不影响程序的运行,用于辅助读程。
// 单行注释
/* 多行注释 /
/
* 文档注释 */

变量与常量

在JAVA中,有的数据值是不固定的,总在变,我们还需要记录这些值,我们可以把这些值理解为变量。
我们通过三个元素来描述变量:变量类型,变量名以及变量值。
int age=18; //声明int类型的变量并赋值
String tel; //声明String类型的变量
注意:
1、 变量名必须是一个有效的标识符。
2、 变量名不可以使用java关键字
3、 变量名不能重复

在程序运行过程中一致不会改变的量称为常量。

数据类型

基本类型(8种)

介绍

Java是一门强语言,会将所有的数据分为很多种类型,其中有八种基本数据类型,除开这八种的基本类型其余都是引用类型
基本类型中有六种数字类型(四种整数类型,两种浮点型)一种字符型,一种布尔型
在这里插入图片描述

基本类型字节空间和取值范围测试

public class DataTypeSize {
    public static void main(String[] args) {
        System.out.println("byte:"+Byte.SIZE/8+"字节("+Byte.MIN_VALUE+"~"+Byte.MAX_VALUE+")"); 
        System.out.println("short:"+Short.SIZE/8+"字节("+Short.MIN_VALUE+"~"+Short.MAX_VALUE+")"); 
        System.out.println("int:"+Integer.SIZE/8+"字节("+Integer.MIN_VALUE+"~"+Integer.MAX_VALUE+")"); 
        System.out.println("long:"+Long.SIZE/8+"字节("+Long.MIN_VALUE+"~"+Long.MAX_VALUE+")"); 
        System.out.println("float:"+Float.SIZE/8+"字节("+Float.MIN_VALUE+"~"+Float.MAX_VALUE+")"); 
        System.out.println("double:"+Double.SIZE/8+"字节("+Double.MIN_VALUE+"~"+Double.MAX_VALUE+")");
        System.out.println("char:"+Character.SIZE/8+"字节");
        
    }

}

bit 就是位,也叫比特位,是计算机中表示数据最小的单位,1个字节等于八个bit
上面程序的输出结果为:

byte:1字节(-128~127)
short:2字节(-32768~32767)
int:4字节(-2147483648~2147483647)
long:8字节(-9223372036854775808~9223372036854775807)
float:4字节(1.4E-45~3.4028235E38)
double:8字节(4.9E-324~1.7976931348623157E308)
char:2字节

基本类型的字面值

整数字面值是int类型

int a = 999999999;//错,右侧是int类型,但是超出范围

byte,short,char三种比int小的整数可以用范围内的值直接赋值

byte b=127;//对
byte b=128;//错,右面已经超过byte范围是int类型的数据

浮点数的字面值是double类型

double a=3.14;//对
float a=3.14;//错,右面是double,float是四字节double是八字节存不下

字面值后缀l f d

L –long 如:long a = 99999999999;//错,超出范围,解决方案加L
F –float 如:float a = 3.14;//错,右面是double类型,解决方案加F
D –double 如:double a=3;//错,右面是int,解决方案加D或者改成3.0

进制前缀

0x - 16进制

System.out.println(0xfa8c10f);//262717711

0 -8进制

System.out.println(001);//1
System.out.println(010);//8
System.out.println(016);//14
System.out.println(055);//45

0b -2进制
System.out.println(0b101110011011011);//23771
\u -char类型,16进制

System.out.println('\u0061');//a
System.out.println('\u4e2d');//中

基本类型的类型转换

小到大(隐式转换)
Byte a =120;
Int b=a;//直接转

在这里插入图片描述

大到小(显式转换)
int xx = 356;
byte y=(byte) xx;

注意:小数转成整数时,小数直接舍弃

引用类型

引用类型是一个对象类型,值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值
运算规则(5条)

计算结果的数据类型,与最大类型一致

3/2 得1 ,而不是1.5,结果是int类型
3d/2 得1.5,相当于double/int,结果是double类型

byte,short,char三种比int小的整数,运算时会先自动转换成int

byte a=3;
byte b=4;
byte c=a+b;//错,运行时,byte会先自动转成int再运算,int+int还是int

整数运算溢出

整数运算,类似于一个中标,转到最大时,再转会回到最小。
计算:光速运行一年的长度是多少米

System.out.println(300000000*60*60*24*365);
System.out.println(300000000l*60*60*24*365);

浮点数运算不精确

java提供了解决方案,后面就会讲到。

System.out.println(1-0.8);
System.out.println(4.35*100);

浮点数的特殊值

Infinity 无穷大 3.14/0
Nan not a number 0/0.0

运算符

概述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值