22bk_java基础语法

java基础语法

1编译型与解释型

​ 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言(0101),所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:编译 、解释。由此高级语言也分为编译型语言和解释型语言。

编译型语言源程序编译后即可在该平台运行,

解释型语言是在运行期间才编译。

所以前者运行速度快,后者跨平台性好。

1.1 编译型

运行时脱离开发环境,运行效率高;

与特定平台相关,一般无法抑制到其他平台;

C、C++、C#
在这里插入图片描述

1.2解释型

专门的解释器,解释成,特定平台的机器码,并立刻执行。

每次运行都将源代码解释成机器码,效率低;

可移植性好,平台无关性;

Python、JavaScript

1.3java

编译型:所有的java代码都是要编译。

解释型:编译后不能直接运行,解释运行在JVM上。
在这里插入图片描述
在这里插入图片描述

2IDEA

psvm、sout

目前最常用的java开发IDE

IDE:集成开发环境(Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器编译器调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

empty工程时,添加module,出现src,配置sdk版本与language level

红点标注行,不采用正常启动程序,采用debug,断点测试

3注释

Annotations注解

Comments注释

有趣的注释代码

3.1单行注释

//zhushi

3.2多行注释

/*zhushi*/

3.3文档注释

//与JavaDoc联合使用
/**
*@Description HelloWorld
*@Author hhhh
*/

4标识符

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

关键字(keywords)是Java语言规范约定用于表达语法含义的单词,截止JDK8.0,这部分单词总共有50个。

在这里插入图片描述

保留关键字:少数单词,目前还没有明确的语法含义,但是Java语言也约定它是关键字,随着Java的发展,将来可能会被赋予语法含义如列表中的constgoto

String是一个Java基础库中常用类的类名,并不是关键字。

4.1注意点

​ 大小写敏感;

​ 首字符字母,美元$,下划线。

​ 首字母一些特殊符号% #一般也会报错,一般采用字母、数字、美元符组合

​ 可以用中文,但一般不用例如

String 哈哈哈="测试";

5数据类型

5.1强类型与弱类型

java是强类型语言:要求变量的使用要严格符合规定、所有变量必须先定义才能使用。

安全性较好,但效率低。

弱类型语言:变量使用可以不符合规定,javascript,虽然随意,但有自己的编辑器,也对相应做了规范。

5.2基本数据类型与引用数据类型

在这里插入图片描述

long number=123L;//要在数字后加L
float numberf=123f;//要在数字后加f,默认的浮点是double



位bit,计算机内部存储的最小单位;

字节byte=8bit,计算机中数据处理的基本单位;

5.3电脑32位与64位的区别

64位操作系统只能安装正在64位电脑上(CPU64位),同时需要安装64位程序以发挥64位最大优势;

32位操作系统可以安装在32位机、64位机上;

64位相对32位,64位一次取8字节,32位一次取4字节,性能理论提高一倍;

电脑内存,64位可以扩到128g,32位最大4g。

5.4常见问题

二进制0b 十进制 八进制0 十六进制0x

浮点数: 有限、离散、舍入误差、大约、接近但不等于

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

银行业务怎么表示:不能用float表示,一般用BigDecimal工具类处理;

低转高不用其他操作,高转低强制转换;

不能对布尔值进行转换,布尔是按位的,只有0和1,两种可能占一位,是完全不相干的;

不能把对象类型转换为不相干的类型;

转换的时候可能崔仔内存溢出,或者精度问题;

jdk7的新特性 ,数字较大时可以加下划线

public class JavaTest {
    public static void main(String[] args) {
        int money=10_0000_0000;
        int years=20;
        long total=money*years;//1=-1474836480,计算结果溢出,默认是int的精度,转换前已经出现问题
        long total2=money*((long)years);//2=20000000000,得到正确结果,计算之前就已经把精度解决掉
        long total3=(long)money*years;//3=20000000000,得到正确结果,计算之前就已经把精度解决掉
        long total4=(long)(money*years);//4=-1474836480,计算结果溢出,默认是int的精度,转换前已经出现问题
        System.out.println("1="+total);
        System.out.println("2="+total2);
        System.out.println("3="+total3);
        System.out.println("4="+total4);
    }
}

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

6变量、常量、作用域

类名:首字母大写+驼峰原则:LoginPhone

变量名:首字母小写+驼峰原则:loginPhone

常量名:大写字母和下划线:LOGIN_PHONE

方法名:首字母小写+驼峰原则:loginPhone()

6.1变量

6.1.1变量是什么

​ 就是可以变化的量;

​ java是一种强类型语言,每个变量都必须声明其类型;

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

在这里插入图片描述

6.1.2类变量
6.1.3实例变量

表示数值类型:默认0 0.0。

布尔值:默认是false

除基本数据类型外:默认null

6.1.4局部变量

6.2常量

Constant,初始化(initialize)后不能再改变值,不会变动的值。

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

在这里插入图片描述

修饰符,不存在先后顺序

static final double PI=3.14;
final static double PI=3.14;

7运算符

7.1位运算

A=0011 1100
B=0000 1101
A&B=0000 1100A|B=0011 1101A^B=0011 0001 异或
~A=1100 00112*8=16=2*2*2*2
<<左移 相当于乘以2
>>右移,补符号位,正数补0,负数补1
<<<无符号左移,与<<相同
>>>无符号右移,逻辑右移,最高位补0
    
(1)10=(0000 0001)
(2)10=(0000 0010)
(4)10=(0000 0100)
(8)10=(0000 1000)
(16)10=(0001 0000)
   

7.2三元运算

//?:
//x?y:z
//如果x为真则y,假则z

8包机制

一般利用公司域名倒置作为包名;com.baidu.www, com.baidu.baike,com.baidu.operate

9JavaDoc

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

jdk帮助文档,一般看8版本;

9.1参数信息

@author作者名

@version版本号

@since指明需要最早使用的jdk版本

@param参数名

@return返回值情况

@throws异常抛出情况

9.2生成文档

9.2.1命令行

设置字符UTF-8避免乱码

F:\test\src\com\hhh\base>
javadoc -encoding UTF-8 -charset UTF-8 JavaDocTest.java

charset 是 character set 的简写,即字符集。

encoding 是 charset encoding 的简写,即字符集编码,简称编码

编码是依赖于字符集的,就像代码中的接口实现依赖于接口一样;
一个字符集可以有多个编码实现,就像一个接口可以有多个实现类一样。

在这里插入图片描述

9.2.1IDEA

在IDEA中选择工具(Tool)选项卡打开并选择Generate JavaDoc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值