java的基础语法
Java中的程序可分为结构定义语句和功能执行语句.
结构定义语句:用于声明一个类或方法,功能执行语句用于实现具体的功能。
功能执行语句:每条功能执行语句的结尾都必须用英文分号(;)结束。
public修饰的类名必须和文件名一致(如果没有public类文件名可与任意类名一致)【包括大小写】。
public:访问修饰符(每个编译单元只能有一个public类,否则编译 器就不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为他们不是public类,而且他们主要用来为主要 public类提供支持)。
class:定义类的关键字。
类名:首字母大写,不要使用拼音和汉语,驼峰式命名法,每个单词首字母大写。
main方法是java程序的入口,需要执行的代码必须放到main方法里面,后期学了javaEE后用的不是太多。
java语言严格区分大小写:int a;int A;(大写一般表示常量)
Java方法由一条条语句构成,每个句号以“;”结束。
大括号都是成对出现的,缺一不可。
一个java文件里面可以定义多个类,但是只能有一个类名的访问修饰权限为public。
什么是关键字?
Java给我们定义一些特殊单词,每个关键字都有自己独有的功能;
全是小写;
关键字不能被当做普通的标识符;
用于定义数据类型的关键字
class,interface,enum,byte,short,int,long,float,double,char,boolean,void
用于定义数据类型值的关键字
true,false,null
用于定义流程控制的关键字
if,else,switch,case,default,while,do,for,break,continue,return
用于定义访问权限修饰符的关键字
private,protected,public
用于定义类,方法,变量修饰符的关键字
abstract,final,static,synchronized
用于定义类与类之间关系的关键字
extends,implements
用于定义建立实例及引用实例,判断实例的关键字
new,this,super,instanceof
用于异常处理的关键字
try,catch,finally,throw,throws
用于包的关键字
package,import
其他修饰符关键字
native,strictfp,transient,volatile,assert
什么是标识符?
自定义的类,方法名,包名,变量名,接口名…这些统称为标识符
字母,数字,下划线,$;
不能以数字开头;
不能是关键字,或者包含特殊字符;
定义方法名和变量名第一个单词首字母小写,从第二个单词开始每个首字母大写;如果定义常量,全部大写;
包名所有字母一律小写;类名和接口名每个单词的首字母都要大写。
什么是常量?
定义:Java中的常量,其实就是特殊的变量,也是固定不变的量,有且只能进行一次赋值。
语法:Java中定义常量的语法也非常简单,只需要在定义变量的语法基础上加上一个final关键字修饰即可。
程序运行期间,固定的值是不可以改变的。
public class Demo1{
public static void main(String[] args){
//常量运行期间不可以改变的量就是常量
final int A=10;
//字符串可以为空,单引号为字符,不可以为空,字符必须要有内容。
System.out.println("我爱写代码");
}
}
什么是变量?
在内容中的一块区域,变量的值可以在某一范围内发生改变。
怎么定义变量?
变量类型 变量名;int num;
变量类型 变量名=对应的变量值;int num[=10];([]中的内容是可选项,即在定义变量的同时,可以对该变量进行初始化赋值。
变量的类型有哪些:
一.基本数据类型:
整数:byte short int long;常用的是int。
小数:double float;常用的是double。
布尔:boolean 常用在逻辑运算。
字符:char。
二.引用数据类型:数组java定义的类,自己定义的类,接口…
变量的分类
成员变量:定义在类的内部,方法之外。
局部变量:定义在方法内部。
注意:类外面(类对应的大括号外面)不能有变量的声明。
在静态方法里面只能调用静态变量或者静态方法
public class Demo2{
//成员变量
static int num=10;//在静态方法里面只能调用静态变量或者静态方法
public static void main(String[] args){
int num1=20;//局部变量
System.out.println("num:"+num);
System.out.println("num1:"+num1);
}
}
整数类型:byte(1) short(2) int(4) long(8)
Java各整数类型有固定的表示范围和字段长度,不受具体 操作系统的影响,以保证 java 程序的可移植性。
Java 的整型常量默认为 int 型,声明 long 型常量须后加‘l’(小写L) 或‘L’。
浮点类型:float(4)、double(8)
与整数类型类似,Java 浮点类型也有固定的表示范围和字段长度,不受具体操作系统的影响。
Java 的浮点型常量默认为 double 型,声明 float 型常量,须后加‘f’ 或 ‘F’。
浮点型常量有两种表示形式:
1.十进制数形式:如:5.12 512.0f .512 (必须有小数点)
2.科学计数法形式:如:5.12e2 512E2 100E-2
字符类型:char
字符类型变量用于存储一个单一字符,在Java中用char表示。
Java中每个char类型的字符变量都会占用2个字节。
在给char类型的变量赋值时,需要用一对英文半角格式的单引号(' ')把字符括起来,如'a',也可以将char类型的变量赋值为0~65535范围内的整数,计算机会自动将这些整数转化为所对应的字符,如数值97对应的字符为'a'。
布尔类型:boolean
boolean 类型适于逻辑运算,一般用于程序流程控制:
if条件控制语句;
while循环控制语句;
do-while循环控制语句;
for循环控制语句;
boolean类型数据只允许取值true和false,不可以0或非0的整数替代true和false,这点和C语言不同。
变量的类型转换
说明:在程序中,当把一种数据类型的值赋给另一种数据类型的变量时,需要进行数据类型转换。
分类:根据转换方式的不同,数据类型转换可分为两种:自动类型转换和强制类型转换。
自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
byte,short,char三者在计算时首先转换为int类型。
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型
强制类型转换:
强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动类型转换无法进行,这时就需要进行强制类型转换。
强制类型转换就好比将大瓶水倒入到小瓶中一样,如果大瓶中的水的容量小于小瓶的大小,那么水是可以完全倒入的;否则多出来的水就会溢出。所以系统默认不支持这种行为,只能由开发者自己决定是否进行强制类型转换。
强制类型转换格式:目标类型 变量名 = (目标类型);值
字符串转换为基本数据类型,需要通过基本类型对应的包装类提供的parseXXX方法。如: String a = “43”; int i = Integer.parseInt(");
原因分析:出现丢失精度的原因是,变量b为int类型,在内存中占用4个字节,而byte类型的数据在内存中占用1个字节,当将变量b的类型强转为byte类型后,前面3个高位字节的数据已经丢失,这样数值就发生了改变。
转义符——反斜杠(\)
定义:在字符常量中,反斜杠(\)是一个特殊的字符,被称为转义符,它的作用是用来转义紧随其后的一个字符。
说明:转义后的字符通常用于表示一个不可见的字符或具有特殊含义的字符,例如“\n”表示换行。
常见转义字符
\r :表示回车,将光标定位到当前行的开头,不会跳到下一行。
\n :表示换行,换到下一行的开头。
\t :表示制表符,将光标移到下一个制表符的位置,就像在文档中用Tab键一样。
\\ :表示反斜杠转义字符,由于在Java代码中的斜杠(\)是转义符,因此需要表示字面意义上的\,就需要使用双斜杠\\。
算数运算符分类说明
运算符
运算
范例
结果
+
正号
+3
3
-
负号
b=4;-b
-4
+
加
5+5
10
-
减
6-4
2
*
乘
3*4
12
/
除
7/5
1
%
取模(求余数)
7%5
2
++
自增(前)
a=2;b=++a
a=3;b=3
++
自增(后)
a=2;b=a++
a=3;b=2
--
自减(前)
a=2;b=--a
a=1;b=1
--
自减(后)
a=2;b=a--
a=1;b=2
在进行自增(++)和自减(--)的运算时,如果运算符(++或--)放在操作数的前面则是先进行自增或自减运算,再进行其他运算。反之,如果运算符放在操作数的后面则是先进行其他运算再进行自增或自减运算。
在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个整数;如果除法运算有小数参与,得到的结果会是一个小数。
在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。
赋值
x += 3就相当于x = x + 3
-=;/= 以此类推。
p在Java中可以通过一条赋值语句对多个变量进行赋值。
p在赋值运算符中,除了“=”,其他的都是特殊的赋值运算符,以“+=”为例,x += 3就相当于x = x + 3,首先会进行加法运算x+3,再将运算结果赋值给变量x。其余的-=、*=、/=、%=赋值运算符都可依此类推。
注意:在使用+=、-=、*=、/=、%= 赋值运算符时,需要进行的强制类型转换会自动完成,程序不需要做任何显式地声明。
public class Demo {
public static void main(String\[\] args) {
short s = 3;
int i = 5;
s += i;
System.out.println("s = " + s);
}
}
逻辑运算符
^; 异或; A ^ b; a与b不同,结果为true,否则为false
注意:
逻辑运算符可以针对结果为布尔值的表达式进行逻辑运算。如:5 > 3 && 1 != 0的结果为true。
“&”和“&&”的区别:在使用“&”进行运算时,不论左边为true或者false,右边的表达式都会进行运算。如果使用“&&”进行运算,当左边为false时,右边的表达式不会进行运算,因此“&&”被称作短路与。
条件运算符
条件运算符的语法格式:
(boolean_expr) ? true_statement : false_statement;
规则:先判断boolean_expr的值,如果为true,就执行表达式true_statement,否者执行表达式false_statement。
int store = 5;
System.out.println(store <=0 ? "没有库存啦" : "库存量为:"+store);
// 输出结果为 “库存量为:5”
over~~~~
拜~~