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~~~~
拜~~