Java基本语法(一)
一.概述
今天我们开始讲解Java的基本语法(一),我们首先从上一篇运行的HelloWorld程序讲解,以后的程序我会用idea工具编写,主要还是能提升编写文章的效率,不过还是像上一篇说的那样,希望新手多用一下记事本编写程序,并使用控制台的命令运行。等基本操作熟练后可以再使用IDE集成开发工具编写。
二.HelloWorld程序
/**
1. public:访问修饰符,主要用于控制其它部分对这段代码的访问权限。
2. class:表明Java程序中的全部内容必须包含在类中,类就是作为一个加载程序逻辑的容器。
3. HelloWorld:程序的文件名,也称为类名,两个名称必须保持一致。并且Java区分大小写。
*/
public class HelloWorld {
/**
* Java虚拟机将从指定类中的main方法(函数)开始执行,任何完整的程序都存在一个入口方法(函数)。
* static:静态标识符,表示main方法是静态方法,可以通过类名调用。
* void:表示main方法的返回值为空。
* 当程序正常退出的时候,退出代码为0,非正常为-1。
* String[] args:表示java运行时所添加的参数都会放在这个数组中。
* {}:表示代码块的开始与结束。
*/
public static void main(String[] args) {
/*
* 此方法暂时理解为打印方法即可,将你想要打印的内容放在括号中,就可以将内容输出到控制台中。
* System.out.println()的效果是打印输入内容后换行。如果不想换行,可以使用System.out.printf()方法
* 语句以分号结束
* .操作符:指的是方法调用操作符
*/
System.out.println("HelloWorld!");
}
}
下面我们说一说命名规范的问题:
- 类名:我们采取的是大驼峰命名法,例如ClassName。每个单词的首字母大写。
- 变量名:我们采取的是小驼峰命名法,例如className。除了第一个单词的首字母小写其余的单词首字母大写。
- 方法名:同变量名。
三.基本语法
1.注释:
Java有三种注释
- 行注释:以//开头。表示从本行的开始到本行的结束都是注释内容。
- 块注释:以/*开始,以 */结束。表示整段内容都是注释内容。
- 文档注释:以/**开始,以 */结束。这段注释可以利用java命令来生成文档。
2.基本数据类型:
Java中一共有8种数据类型,其中4种整型,2种浮点型,1种字符类型char,1种表示真值的boolean类型。我们按照顺序讲解一下每种类型的表示范围,以及使用方法。
(1)整型:
类型 | 存储需求 | 取值范围 |
---|---|---|
int(整型) | 4字节 | -2147483648~2147483647 |
short(短整型) | 2字节 | -32768~32767 |
long(长整型) | 8字节 | -9223372036854775808~9223372036854775807 |
byte(字节) | 1字节 | -128~127 |
/**
* 整型数据类型
*/
public class IntType {
public static void main(String[] args) {
// 整型变量是我们最常使用的数据类型。
int intVariable = 1;
// 十六进制变量 以0x开始
int sixVariable = 0x1000;
// 二进制变量 Java7开始 可以以0b开始
int twoVariable = 0b1010;
// 用下划线表示数字进位 Java7开始 用户看起来更直观,Java编译器会忽略这些下划线
int variable = 100_000_000;
// 字节变量
byte byteVariable = 1;
// 短整型变量
short shorVariable = 1;
// 长整型变量 推荐在数字后面添加L,用于与其他数据类型进行区分
long longVariable = 1L;
// 分别打印出各自的值
System.out.println(intVariable);
System.out.println(sixVariable);
System.out.println(twoVariable);
System.out.println(variable);
System.out.println(byteVariable);
System.out.println(shorVariable);
System.out.println(longVariable);
}
}
(2)浮点类型:
类型 | 存储需求 | 取值范围 |
---|---|---|
float(单精度浮点型) | 4字节 | 大约 ± 3.402 823 47E+38F(有效位数为6~7位) |
double(双精度浮点型) | 8字节 | 大约± 1.797 693 134 862 315 70E+308(有效位数为15位) |
/**
* 浮点数据类型
*/
public class DoubleType {
public static void main(String[] args) {
// 单精度浮点型数据类型 在数字的末尾推荐使用大写F
float floatVariable = 1.0F;
// 双精度浮点型 我们最常用使用这种表示。虽然可以不写后缀名,但是推荐使用大写D表示以做区分
double doubleVariable = 1.0D;
// 打印
System.out.println(floatVariable);
System.out.println(doubleVariable);
}
}
注意:不要使用浮点类型的数据做比较。因为1.0 - 0.1的结果不是 0.9 具体的原因可以去网上查询一下具体细节。
(3)char类型:
/**
* 字符类型char
*/
public class CharType {
public static void main(String[] args) {
// 可以输入单个字符
char charVariable = 'A';
// 可以输入Unicode的编码
char charVariable1 = '\u0200';
// 可以输入转译字符
char charVariable2 = '\"';
// 可以输入数字 但是输出的内容是表示数字对应的ASCII码值
char charVariable3 = 65;
// 打印
System.out.println(charVariable);
System.out.println(charVariable1);
System.out.println(charVariable2);
System.out.println(charVariable3);
}
}
(4)真值boolean类型
/**
* 真值 boolean类型
*/
public class BooleanType {
public static void main(String[] args) {
// 一个真值变量 而且 它的值只有 true 和 false两个。
boolean booleanVariable = true;
// 打印
System.out.println(booleanVariable);
}
}
3.变量:
在前面的例子中我们已经看到了如何声明变量的方法。下面我们解释一下:
/**
* 变量
*/
public class Variavble {
public static void main(String[] args) {
// 声明一个整型变量
// 变量的命名 要符合规范,以字母开头,不能使用关键字。尽量要保持语义化可以让人能明白 变量的意思 比如int a; 就是一个不好的变量命名。
int variable;
// 变量初始化
variable = 1;
// 也可以将声明和初始化放在一起。推荐使用
int variable1 = 1;
// 表示声明一个常量,并且此变量一旦赋值便不可以进行修改。推荐常量名全部使用大写
final int VARIABLE2 = 2;
}
}
4.运算符
(1)常用运算符:+ - * / % += -= /= %=等。
(2)数学函数
/**
* 数学函数
*/
public class MathMethod {
public static void main(String[] args) {
// 计算一个数的平方根
System.out.println(Math.sqrt(4));
// 如果被除数是 正数则是 3 % 5 如果是负数 则是 (-3 + 5)% 5
System.out.println(Math.floorMod(3,5));
// 计算一个数的sin,cos,tan等
System.out.println(Math.sin(5));
System.out.println(Math.cos(5));
System.out.println(Math.tan(5));
// 还有一下其他比较常用的数学函数可以自己查看API手册
}
}
(3)数值类型转换
在做运算时首先会将两个操作数转换成同一种类型,然后在进行计算。
- 如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。
- 如果其中一个操作数是float类型,另一个操作数将转换为float类型。
- 如果其中一个操作数是long类型,另一个操作数将会转换为long类型。
- 如果是短整型,字节型将会转换成int类型计算。
实线表示无精度损失,虚线表示存在精度损失
当我们需要把精度大的转换成精度小的时候,就叫做强制类型转换。
/**
* 强制类型转换
*/
public class TypeChange {
public static void main(String[] args) {
// 声明一个double变量
double doubleVairable = 1.0D;
// 强制转换成int类型
int intVairable = (int) doubleVairable;
// 声明一个boolean类型变量
boolean isFlag = true;
// 当我们想要把boolean类型强制转换成int类型时 用三目运算符进行转换不要用上面的方法。
int booleanChange = isFlag ? 1 : 0;
}
}
(4)自增和自减元算符 – 和 ++
注意:
- 变量++ 表示当前变量使用完毕后将变量自增1
- ++变量 表示先将当前变量进行自增1在进行运算。
(5)关系运算符
常用的就是 > 、=、 <、 <=、 >=、==
还有就是 && || !=
注意:
&& 和 ||:会存在逻辑短路现象。
比如:1 > 2 && 1 < 0 当第一次判断的时候如果为假后面的判断就不会在进行了。
2 > 1 || 1 > 2 当第一次判断的时候如果为真后面的判断就不会在进行了。
三目运算符: 1 > 2 ? 0 : 1 表示如果前面的判断为真 则会得到第一个值,为假得到后面一个值。
(6)位运算符
& | ^ ~ ,<<(左移) >>(右移)这些运算符不经常会用到,我也就不会讲解了,有兴趣的可以去查下资料。
(7)运算符的优先级
运算符 | 结核性 |
---|---|
[] . () (方法调用) | 从左向右 |
!~ ++ – +(一元运算符) - (一元运算符)()(强制类型转换) | 从右向左 |
* / % | 从左向右 |
+ - | 从左向右 |
<< >> >>> | 从左向右 |
< <= > >= instanceof | 从左向右 |
= = != | 从左向右 |
& | 从左向右 |
^ | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
?: | 从右向左 |
= += -= *= /= %= &= |= ^= <<= >>= >>>= | 从右向左 |
(8)枚举类型
后面会讲解
四.结束语
下一篇我们讲解Java基本语法(二)。
有些可能我理解的不够深刻,大家如果觉得我说的不够详细可以参考我的推荐书,详细的看一下。欢迎大家评论。第一时间我会回复大家。谢谢!
上一篇: jQuery blur()怎么用
下一篇: jquery如何获取同级元素