二、java基本语法

一、数据类型

1.1、强类型语言

要求变量的使用必须严格符合规定,所有变量度必须先定义后才能使用。

1.2、弱类型语言

1.3、java的数据类型分为两大类

1.3.1. 基本数据类型
生活中常用数据类型就是java基本数据类型,比如数字(整数和小数)、文字、是非对错。如下图:
在这里插入图片描述

//八大基本类型
//整型
byte num1 = 10;
int num2 = 20;
short num3 = 30;
long num4 = 30L;  //long类型要在数字后面加L

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

//字符
char name = '梁';
//字符串,String不是关键字,是一个类

//布尔值:是非
boolean flag = true;

上图代码比如byte,int,short如果输入过长位数,超过该类型的范围就会报错,因为每种类型有固定长度范围。

在这里插入图片描述

1.3.2. 引用数据类型
从1.3.1图片看出,处理数值、字符、是非类型,其他都是引用类型。

上图数据类型范围不用刻意记,直接查询对象刻意看到,如下图Byte:
在这里插入图片描述在这里插入图片描述

1.4、数据类型扩展

1.4.1、整数扩展

 //整数扩展: 进制   二进制0b  十进制  八进制0   十六进制0x

 int i1 = 10;   //十进制
 int i2 = 010;  //八进制
 int i3 = 0x10; //十六进制0x  0-9  A-F(10-16)

 System.out.println(i1);
 System.out.println(i2);
 System.out.println(i3);

上面代码输出结果位:
在这里插入图片描述i1为十进制输出10,i2为八进制逢8进1,所以输出8,i3为十六进制逢16进1所以为16,如果i3=0x10那输出应该为17。
1.4.2、浮点数扩展
问题:银行业务的数字怎么表示?
浮点数比较问题:

 //浮点数扩展  银行业务的数字怎么表示
 float f = 0.1f;  //0.1
 double d = 1.0/10; //0.1
 System.out.println(f == d); //false
结果:false
 float f1 = 233242342343243f;
 float f2 = f1 + 1;
 System.out.println(f1 == f2);
 结果:true

会出现上面两个奇怪的结果是应为浮点数是有限的、离散的、会有舍入误差、接近不等于的特性,所以在数值比较时最好完全避免用浮点数进行比较,如果要比较用BigDecimal类比较。

二、类型转换

由于Java是强类型语音,所以要进行有些运算的时候,需要用到类型转换。运算中,不同类型的数据先转换成同一种类型,然后再进行运算。
转换按容量从低到高:
低--------------------------------------------------------------------------->高
byte,short,char->int->long->float->double

2.1、自动类型转换

数据类型容量从低到高就会自动类型转换,比如:

int i = 128;
double b = i;
System.out.println(i);
System.out.println(b);
``
结果:
128
128.0

# 2.2、强制类型转换
数据类型容量从高到低,需要强制类型转换:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210310234456487.png)int转换到byte自动转换报错了,需要强制类型转换:

```java
int i2 = 128;
byte b2 = (byte) i;    //从高强制转换到低,容易发生内存溢出
System.out.println(i2);
System.out.println(b2);
System.out.pringln((int)23.7);//float强制转换int,从高转换到低容易发生精度不准问题

结果:
128
-128
23
从结果看b2=-128,因为byte最大为127,强加赋值128发生了内存溢出,所以从高容量强制转换到低容量,可能存在内存溢出或者精度问题。

三、变量、常量、作用域

3.1、变量

变量按字面理解就是可以变化的量,是程序中基本的存储单元,其要素包括变量名、变量类型和作用域。Java是一种强类型语言,每个变量都必须声明其类型(可以是基本类型,也可以是引用类型)。

type       varName [=value],[{,varName=[=value]}];
//数据类型  变量名  = 变量值; 可以是用逗号隔开来声明多个同类型变量,但是一般不建议这样做,程序可读性不好

方法里面的变量定义要初始化才能使用,如下图:
在这里插入图片描述

3.2、变量作用域

*局部变量:在方法体或代码块内定义的变量
*实例变量(成员变量):在方法体外面定义的类成员变量
*类变量:类里面用static修饰的类成员变量
在这里插入图片描述

3.1、常量

常量是一种特殊的变量,用final修饰,初始化后不能再改变,一般用大写字符命名。
final 常量名 = 值;
final int AGE = 34;

四、javadoc生成API文档

使用命令行生成文档命令:javadoc -encoding UTF-8 -charset UTF-8 Demo4.java,如下图:
在这里插入图片描述执行完成后在Demo04.java所在文件夹多了好多文件,如下图:
在这里插入图片描述打开index.html首页,生成了很详细的文档:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alinlx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值