Java基础语法(一)
注释
注释不会被执行,是给我们写代码的人看的,要养成写注释的好习惯,进入后期写的代码量比较大时,可能今天写的代码自己还能看懂,明天就看不懂了,这是注释是一个好帮手
- 单行注释
//之后的内容无效
- 多行注释
/*之间的
内容
无效*/
- 文档注释
/** */
初学基本用不到,想了解可以参考:Java文档注释
标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
注意点
- 标识符只能以字母,美元符或下划线开始
- 首字符后可以加字母,美元符,下划线和数字
- 不能用关键字作为变量名或方法名(Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。)
- 可以用中文命名,但一般不会用,也不用拼音
- 标识符大小写敏感
数据类型
Java是强类型语言
要求变量的使用严格符合规定,所有变量都必须先定义后使用
Java的数据类型分为两大类
基本类型
-
数值类型
- 整数类型
- byte占一个字节,即8个比特位,取值范围-128~127
- short占两个字节
- int占四个字节
- long占8个字节
- 浮点类型
- float占4个字节
- double占8个字节
- 字符类型
- char占两个字节
- 整数类型
-
Boolean类型
占一位,只有true和false,默认值为false
如图,num2=200>127,因此idea报错了。
另外,小写的l很像1,最好写成大写L
引用类型
- 类
- 接口
- 数组
除基本类型之外都为引用类型
什么是字节
- 位,即bit,计算机内部数据存储的最小单位,如11001110是一个八位二进制数
- 字节,即byte,计算机数据处理的基本单位
- 1byte=8bit
- 字符:是指计算机中使用的字母,数字,字和符号
补充
- 1bit表示1位
- B表示字节,1B=8b
- 1KB=1024B
- 1M=1024KB
- 1G=1024M
进制在Java中的表示
二进制以0b开头
八进制以0开头
十六进制以0x开头
掌握数学中进制的转换,因为它是编程的重要基础
拓展
浮点数拓展
有时使用浮点数,我们会遇到很奇怪的问题,如下图,==表示判断,如果f与d相等,则会输出true,
不等则输出false。
结果匪夷所思,f,d的大小都为0.1,结果却输出false
让我们进行调试,如图在34行号旁鼠标单击,即可设置断点
这次我们不选择运行,而选择调试
调试完成后,我们会看到这一行中f,d都为0.1,那到底为什么会输出false呢?
这个问题先放一放,再来看另一个问题
d=d+1?这不扯淡吗?
以后会使用BigDecimal比较大小
字符拓展
如图,把char类型变量强转为int类型并输出会怎么样呢?
可以看到,输出了数字,因此可得到,所有字符的本质还是数字,相反的,也可以用数字来表示并输出字符
转义字符
有时,我们想输出一些特殊符号却不得,可以用一些字符组合表示它们
神秘错误
这个错误是为什么呢?我们先留个疑问,以后会讲解。
布尔值拓展
编程时:less is more
写的代码越少越好
类型转换
因为Java是强类型语言,所以运算中,不同类型数据运算需要进行类型转换
各种数据类型有不同的容量,一般按此顺序从低到高排列:
byte,short,char,int,long,float,double
强制类型转换
格式:(类型)变量名
从高容量到低容量
自动类型转换
从低容量到高容量
c自动转换为int型,而d强制转换为char型
注意点
此图为精度问题
此图为内存溢出问题
案例
计算并输出10_0000_0000*20的值
变量
变量即可以变化的量
注意事项
- Java是强类型语言,每个变量都必须声明其类型
- 变量是程序中最基本的存储单元,要素包括变量名,变量类型和作用域
- 变量名必须是合法的标识符
- 变量声明是一条完整语句,因此每一个声明以分号结束
变量作用域
- 类变量
- 局部变量
- 实例变量
三种变量的声明与使用及作用域如代码块所示
public class Varibale {
static int all=0;//类变量:位于方法外面,类里面
String str;//实例变量:位于方法外面,类里面,从属于对象,创建变量不用初始化,会变为默认值
//布尔值默认为false,其他默认值为0,0.0,null等
public static void main(String[] args) {
Varibale str1=new Varibale();//变量类型(即类名)+空格+变量名=new+空格+类名+()
System.out.println(str1.str);//使用实例变量
System.out.println(all);
}
public void method(){
int i=0;//局部变量:必须声明和初始化值,只在这个括号内有用
}
}
变量的命名规范
- 所有变量,方法,类名:见名知意
- 类成员变量,局部变量:除第一个单词外,其他单词首字母大写(驼峰规则)
- 常量:全部大写,也可加下划线
- 类名:各个单词首字母大写
- 方法名:首字母小写和驼峰规则
常量
常量的声明:final 常量名=值;
常量名一般用大写字符