Java基础语法
JavaSE
Java基础语法
注释
- 书写注释是一个好的习惯。
- 单行注释。
//
- 多行注释
/*
- 文档注释
/**
*
*/
/***
* ii. ;9ABH,
* SA391, .r9GG35&G
* &#ii13Gh; i3X31i;:,rB1
* iMs,:,i5895, .5G91:,:;:s1:8A
* 33::::,,;5G5, ,58Si,,:::,sHX;iH1
* Sr.,:;rs13BBX35hh11511h5Shhh5S3GAXS:.,,::,,1AG3i,GG
* .G51S511sr;;iiiishS8G89Shsrrsh59S;.,,,,,..5A85Si,h8
* :SB9s:,............................,,,.,,,SASh53h,1G.
* .r18S;..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,.1H315199,rX,
* ;S89s,..,,,,,,,,,,,,,,,,,,,,,,,....,,.......,,,;r1ShS8,;Xi
* i55s:.........,,,,,,,,,,,,,,,,.,,,......,.....,,....r9&5.:X1
* 59;.....,. .,,,,,,,,,,,... .............,..:1;.:&s
* s8,..;53S5S3s. .,,,,,,,.,.. i15S5h1:.........,,,..,,:99
* 93.:39s:rSGB@A; ..,,,,..... .SG3hhh9G&BGi..,,,,,,,,,,,,.,83
* G5.G8 9#@@@@@X. .,,,,,,..... iA9,.S&B###@@Mr...,,,,,,,,..,.;Xh
* Gs.X8 S@@@@@@@B:..,,,,,,,,,,. rA1 ,A@@@@@@@@@H:........,,,,,,.iX:
* ;9. ,8A#@@@@@@#5,.,,,,,,,,,... 9A. 8@@@@@@@@@@M; ....,,,,,,,,S8
* X3 iS8XAHH8s.,,,,,,,,,,...,..58hH@@@@@@@@@Hs ...,,,,,,,:Gs
* r8, ,,,...,,,,,,,,,,..... ,h8XABMMHX3r. .,,,,,,,.rX:
* :9, . .:,..,:;;;::,.,,,,,.. .,,. ..,,,,,,.59
* .Si ,:.i8HBMMMMMB&5,.... . .,,,,,.sMr
* SS :: h@@@@@@@@@@#; . ... . ..,,,,iM5
* 91 . ;:.,1&@@@@@@MXs. . .,,:,:&S
* hS .... .:;,,,i3MMS1;..,..... . . ... ..,:,.99
* ,8; ..... .,:,..,8Ms:;,,,... .,::.83
* s&: .... .sS553B@@HX3s;,. .,;13h. .:::&1
* SXr . ...;s3G99XA&X88Shss11155hi. ,;:h&,
* iH8: . .. ,;iiii;,::,,,,,. .;irHA
* ,8X5; . ....... ,;iihS8Gi
* 1831, .,;irrrrrs&@
* ;5A8r. .:;iiiiirrss1H
* :X@H3s....... .,:;iii;iiiiirsrh
* r#h:;,...,,.. .,,:;;;;;:::,... .:;;;;;;iiiirrss1
* ,M8 ..,....,.....,,::::::,,... . .,;;;iiiiiirss11h
* 8B;.,,,,,,,.,..... . .. .:;;;;iirrsss111h
* i@5,:::,,,,,,,,.... . . .:::;;;;;irrrss111111
* 9Bi,:,,,,...... ..r91;;;;;iirrsss1ss1111
*/
标识符
- Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关键字
标识符注意点
- 所有的标识符都应该以字母(A-Z或a-z),美分$,下划线(_)开始(首字母)。
- 首字母之后可以是字母(A-Z或a-z),美分$,下划线(_)或数字的任意组合。
- 不能使用关键字作为变量名或方法名。
- 标识符是大小写敏感的。
数据类型
强类型语言
- 变量的使用要严格符合规定,所有的变量都必须先定义后才能使用。
- Java安全性高,代价速度慢(相对)。
弱类型语言
Java的数据类型
-
-
byte
-
short
-
int
-
long
long num=30L; -
float
float num=50.1F -
double
double num=3.1415916 -
String 字符串
//String不是关键字,是类 String a="20"; -
Boolean 占一位
-
char 字符
什么是字节
- 位(bit):是计算机内部储存数据的最小单位0 1。
- 字节(byte):是计算机内部数据处理的基本单位 B。
- 1B=8bit。
- 字符:是指计算机中使用的字母,数字,字和符号。
进制
- 二进制0b
- 八进制0
- 十六进制0x 0-9 A-F 16
浮点数拓展
- float 有限 离散 舍入误差 大约 接近但是不等于
float f=0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d); //false
float d1=343724748424f;
double d2=d1+10;
System.out.println(d1==d2); //true
-
解决:
- BIgDecimal 数学工具类。
字符拓展
//强制转换
char c1='a';
char c2='北';
System.out.println(c1);//a
System.out.println((int)c1);//97
System.out.println(c2);//北
System.out.println((int)c2);//21271
char c3='\u0061';
System.out.println(c3);//a
//所有的字符本质还是数字
//编码 Unicode 2字节 0-65536
转义字符
- \t 制表符
- \n 换行
思考
String sa=new String("Hello World!");
String sc=new String("Hello World!");
System.out.println(sa==sc);//false
String sd="Hello World!";
String se="Hello World!";
System.out.println(sd==se);//true
提示: 对象 内存扩展
布尔值扩展
boolean flag=true;
if (flag){ }
//代码要精简
类型转换
//低---------------------------------高
//byte,short,char--int---long---float---double
- 运算中,不同类型的数据先转化为同一类型,然后进行运算。
- 强制类型转换 高-->低。
- 自动类型转换 低 --> 高。
int i=128;
byte b=(byte)i;//内存溢出
System.out.println(i);
System.out.println(b);
/*注意点:
不能对布尔值进行转换。
不能把对象转换为不想干的类型。
强制类型转换 高-->低。
转换的时候可能存在内存溢出,或者精度问题!
*/
//操作比较大的数的时候,注意内存溢出。
//JDK7新特性,数字之间可以下划线分割。
int money=10_0000_0000;
int years=30;
int total=money*years //内存溢出
long total=money*years //默认是int,转换之前已经内存溢出。
long total=money*((long)years) //正确
变量
- 变量:可以变化的量。
- 所有的变量都必须先声明类型后才能使用。
- Java变量是程序中最基本的存储单元,包括变量名,变量类型和作用域。
变量作用域
-
public class Variable{ static int allClicks=0;//类变量 String str="hello world";//实例变量 public void method(){ int i=0;//局部变量 } -
package com.edu.pzhu.learner; public class JavaTest02 { //类变量 static static double salary=2500; //属性:变量 //实例对象:从属于对象 如果不自行初始化,是这个类型的默认值 //布尔值:默认false //除了基本类型,其余都是null String name; int age; //main方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 int i=10; System.out.println(i); //变量类型 变量名字:=new JavaTest02() JavaTest02 demo=new JavaTest02(); //类变量 static System.out.println(salary); } //其他方法 public void add(){ } }
常量(Constant)
-
特殊变量
-
初始化(initialize)后不能改变的值。
//修饰符,不存在先后顺序 final--常量
static final double PI=3.14;
final static double PI=3.14;
变量的命名规则
运算符
long a=2345656;
int b=123;
short c=10;
byte d=8;
System.out.println(a+b+c+d);//long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
- 关系运算符返回的结果:正确 错误 boolean
自加自减
-
a++ 先运算,再自加。
-
++a 先自加,再运算。
幂运算
double pow=Math.pow(2,4); //工具类
逻辑运算符
-
&& || !
位运算
/* A=0011 1100
B=0000 1101
A&B=0000 1100 //类似交
A|B=0011 1101 //类似并
A^B=0011 0001 //相同为0,不同为1
~B=1111 0010 //反
//2*8----->2*2*2*2
//效率高
<< *2
>> /2
System.out.println(2<<3);
*/
条件运算符
- ? :
- x?y:z
- x?y:z
如果x==true,则结果为y,否则结果为z
- x?y:z
扩展赋值运算符
a+=b; //a=a+b;
//字符串连接符
int a=10;
int b=20;
System.out.println(""+a+b);//1020 字符串
System.out.println(a+b+"");//30
包机制
-
组织类
-
package com.edu.pzhu.learner; //*通配符 -
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
-
包语句的语法格式为:
-
package pkg1[. pkg2[. pkg3]];
-
-
一般利用公司域名倒置作为包名;
-
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成此功能。
-
import package1[.package2...].(classname|*); -
Ctrl+鼠标右键 跳转
JavaDoc
- javadoc命令是用来生成自己API文档的。
- 参数信息:
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
package com.edu.pzhu.learner;
/**
*@author JCooling
* @version 1.0.0
* @since 1.8
*/
public class Doc {
String name;
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
-
dos命令
javadoc -encoding UTF-8 -charset UTF-8 Doc.java

浙公网安备 33010602011771号