Java编程基础
一:Java的基本语法
1.Java代码的基本格式
Java中的程序代码可以分为:
结构定义语句(用于声明类或方法)
功能执行语句(用于实现具体功能)
Java语言严格区分大小写
Java程序中的一句连续的字符串不能分开在两行中书写
Java编码格式规范
(1) 每条语句都要单独占一行,一条语句要以分号结束。
【正例】
System.out.println("学习Java");
【反例】
System.out.
println("学习Java");
或者
int num1 = 1;int num2 = 2;int num3 = 3;
(2) 在声明变量时,尽量使每个变量单独占一行,即使是相同的数据类型也要分开书写,这样不仅整洁美观,还方便添加注释。
【正例】
int number;// 编号
int count;// 总人数
int array[];// 数组
【反例】
int number,count,int array[];//编号 总人数 数组
(3) 使用大括号也有一定的格式要求。如果大括号内为空,则直接写成”{ }“即可,如果大括号里有代码,则按照以下格式书写。
>左大括号前不换行
>左大括号后换行
>右大括号前换行
>如果右大括号后接着else或者while等关键字则不换行,否则右大括号后必须换行。
【反例】
public static void main(String[] args) {System.out.println("我超级喜欢Java");}
(4) 关键字与关键字之间仅保留一个空格
【正例】
public static void main(String[] args) {
System.out.println("我超级喜欢Java");
}
【反例】
public static void main(String[] args) {
System.out.println("我超级喜欢Java");
}
(5) 任何运算符左右两边都要加一个空格。
【正例】
int a = 1 + 2 - (3 * 4) / 5;
a += 16;
boolean d = 1 > 2 && 6 == 5;
【反例】
int b=1-a+++3*4;
(6) 任何大括号内的代码都应向右缩进,以保证与大括号外的代码区分出层次。
【正例】
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
System.out.println("1到100之间的数字之和为:" + sum);
}
【反例】
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
System.out.println("1到100之间的数字之和为:" + sum);
}
(7) 方法的参数用“,”分隔,每个“,”后面要加一个空格。数组类型参数应将“[ ]”写在类型后面,而不是参数名后面。
【正例】
copyOf(int [] x, int y){
}
【反例】
copyOf(int x[], int y){
}
(8) if、else、for、do、while、switch等关键字与左右括号之间都要加空格。
【正例】
if (1 > 2) {
} else {
}
【反例】
if(1 > 2){
}else{
}
注:以上部分内容摘抄自【明日学院-零基础学Java】
2.Java中的注释
/*单行注释:
以“//”开头,直到本行结束为止。
多行注释:
以“/*”开头,以“*/”结尾,中间内容都属于注释。
文档注释:
以“/**”开头,以“*/”结尾,中间内容都属于注释。(Javadoc)*/
3.Java中的关键字
概念:关键字是被Java语言赋予特殊含义,具有专门用途的单词。
特点:
(1) 完全由小写字母组成
(2) 在编译器中有特殊颜色
4.Java中的标识符
作用:给类,变量,包,方法等起名字。
组成规则[硬性规则]:
- 只能由字符,下划线(_),美元符号($)组成( 这里的字符包括大小写字符,中文字符,数字字符)。
- 不能以数字开头。 2. 不能以数字开头。
- 不能是Java中的关键字。
命名规则[软性建议]
(a) 类
每个单词首字母大写(Student,HelloWorld)。
(b) 变量
第一个单词完全小写,后续更多单词首字母大写。
© 方法
与变量规则一样(show(),speak(),getAge())。
(d) 包(其实就是文件夹,用于堆类进行管理)
全部小写,多级包用点(.)隔开,也就是公司域名反写。
net.csdn
(e) 常量
全部字母均大写,单词之间用下划线“_”隔开。
5.Java中的常量与变量
常量
概念:值被设定后,不允许被改变。
- 字符串常量:凡是用双引号引起来的内容。
- 整数常量:100,200,300。
- 浮点数常量:1.2,3.14,0.0,-5.5;
- 字符常量:凡是用单引号引起来的单个字符(有且仅有一个字符)。
- 布尔常量:只有两种取值,true(真),false(假)。
变量
概念:程序运行期间,内容在一定范围内可以改变的量。
变量是指用来存放数据的内存当中的一小块空间。
特点:
1.用来存放数据的。
2.内容可以发生改变。
3.一次只能存放一个数据,如果放入新数据,将替换掉老数据。
4.可以通过变量名称来使用其中的数据。
5.里面的数据必须符合数据类型要求。
6.数据类型
基本类型(4类8种):
整型:byte shout int long
浮点型:float double
字符型: char
布尔型:boolean
1.整数类型有四种,默认为int类型
2.浮点类型有两种,默认为double类型
3.定义一个long类型的数据,在数值后面要用L作为后缀(大小写均可,建议使用大写)。
4.定义一个float类型的数据,在数值后面要用F作为后缀(大小写均可,建议使用大写)。
5.字符char类型数据可以包含一个中文
注意:
1.创建多个变量不能重名
2.变量如果没有赋值,不能直接使用,想要使用,必须先赋值。
3.变量作用域:
变量定义在哪个大括号当中就只能在哪里使用,超出所属大括号就不能再使用了。
4.可以通过一个步骤同时定义多个变量。
int a, b, c;
引用类型(除了基本,都算引用):
数组 类 接口 Lambda等
·数据类型转换
概念:将一个值从一种数据类型更改为另一种数据类型的过程。
·隐式转换:从低精度数据类型向高精度数据类型转换,永远不会溢出。
byte a = 10;
int b = a;
//注意:类型按精度从“低”到“高”排序为
//byte-short-int-long-float-double
//其中char类型比较特殊,它可以与部分int型数字兼容,且不会发生精度变化。
·显示转换:当高精度变量的值赋值给低精度变量时,必须使用显式类型转换(又称强制类型转换),当执行强制转换可能会导致精度丢失。
//语法如下:
//(类型名)要转换的值
int a = (int)45.23;// double类型强制转换成int类型 结果为45
long b = (long)456.6F;//float类型强制转换成long类型 结果为456
7.运算符
概述:
运算符:对常量或者变量进行操作的符号。例如:“+”
表达式:用运算符将多个变量或常量连起来的式子。例如:a+b
常用的运算符分类:
·算术运算符
·赋值运算符
·比较运算符
·逻辑运算符
A.算术运算符
//四则运算: + - * /
//取模运算:%(只看余数)
//字符串连接: 任何数据类型与字符串连接,都是字符串结果
//自增自减运算符:单独使用++在前后没有区别,混合使用有重大区别。
//前++ 先加后用
//后++ 先用后加
int i = 0;
System.out.println(i++); //结果为0
System.out.println(i); //结果为1
System.out.println(++i); //结果为2
B.赋值运算符
·基本赋值运算符:等号(=)代表将右侧的数据交给左侧的变量
·复合赋值运算符:
a += b;//等效于a = a + b;
a -= b;//等效于a = a - b;
a *= b;//等效于a = a * b;
a /= b;//等效于a = a / b;
a %= b;//等效于a = a % b;
注意:赋值运算符左侧必须是变量,不能是常量。
C.比较运算符
用于比较两个数据的关系,运行结果一定是boolean型数据。
大于 >
小于 <
大于等于 >=
小于等于 <=
等于 =
不等于 !=
注意:两个等号连写才是数学中相等的含义
D.逻辑运算符
基本使用:
//与(并且) & 全部都是true才是true
//或(或者) | 有一个true就是true,全是false才是false
//非(去反) ! !true为false !false为true
//异或 ^ 相同为false 不同就是true
注意事项:
1.逻辑运算符通常用来连接多个布尔值
2.两个布尔值进行连接
//布尔值A & 布尔值B
3.多个布尔值进行连接
//布尔值A & 布尔值B & 布尔值C
4.如果是取反运算符,那么只能用于一个布尔值上
// !布尔值
短路使用
·短路与(&&)
·短路或(||)
如果表达式左边已经可以确定最终结果,那么右边的代码将不再执行,提高程序效率
示例代码
int x = 0;// 定义变量x,初始值为0
int y = 0;// 定义变量y,初始值为0
int z = 0;// 定义变量z,初始值为0
boolean a = x > 0 & y++ > 0;// 逻辑运算符&对表达式进行运算
System.out.println(a); // 结果为false
System.out.println("y的值为" + y);// y的值为1
boolean b = x > 0 && z++ > 0;// 逻辑运算符&&对表达式进行运算
System.out.println(b);// 结果为false
System.out.println("z的值为" + z);// z的值为0