在指定目录下打开:javac+文件名.java——编译出class文件
java+文件名——运行
idea中开发javapsvm 生成main方法
sout生成System.out.println();
ctrl+d复制当前行到下一行
基础语法学习一、注释
单行注释
//单行注释
多行注释
/*
多行注释
*/
文档注释
/**
*@Description Hello World
*/
二、标识符和关键字
所有组成部分都需要名字,类名、变量名、方法名均是标识符:
标识符不能取关键字;
所有标识符都以大小写字母、$、_开头,首字母后是大小写字母、$、下划线或数字的任意组合;
三、数据类型讲解
Java为强类型语言,所有变量必须先定义后才能使用
Java数据类型:
一、基本类型primitive type
1、数值类型:整数类型byte:占1个字节范围
short:占2个字节范围
int:占4个字节范围
long:占8个字节范围
long num = 30L
//加大写字母L表明是long类型(默认取int)
浮点类型float:占4个字节范围
float num = 30.0F
//加大写字母F表明是float类型(默认取double)
double:占8个字节范围
字符类型char:占2个字节范围(一个字母或一个汉字)
2、Boolean类型:占1位,值只有true和false
二、引用类型reference type
1、类:字符串string非关键字,是类(属于引用类型)
2、接口
3、数组
附:
1、字节相关知识
位:bit,内部数据存储最小单位,二进制中1/0
字节:byte(大写B),数据处理的基本单位
1B=8bit 1KB=1024B 1M=1024KB 1G=1024M 1TB=1024G
2、整数拓展:进制
二进制0b开头 十进制 八进制0开头 十六进制0x开头
3、浮点数拓展
浮点数范围有限且离散,有舍入误差,会进行大约计算导致两者接近但不等于
最好完全避免使用浮点数进行比较
3、字符拓展
(1)、(int)字符名字:强制转换为数字
‘/u0061'输出正常编码61号对应字符a
(2)、转义字符
\t 空格
\n 换行
三、数据类型转换
byte,short,char--int--long--float--double(由低到高)
运算中不同类型数据先转化为同一类型,然后进行运算
强制转换格式:(要转变类型)原类型数据 即可转变(由高到低时需避免内存溢出)
自动类型转换: 原数据类型 即可转变(由低到高)
注:1、不能转换Boolean类型
2、转换存在内存溢出或精度问题
四、变量与运算符
Java为强类型语言,变量需声明其类型
变量包括:变量名、变量类型、作用域
作用域:
-
类变量:定义在类里,前有static,用于方法中
-
实例变量:定义在类里,前无static,用于方法中
-
局部变量:定义使用在方法中
体现三种作用域区别:
public class Demo2 {
//属性:暂时理解为变量
//实例变量:从属于对象
String name;
int age;
double num;
boolean right;
char what;
//类变量
static double salary=100000;
//main method
public static void main(String[] args) {
//局部变量:必须声明和初始化值
//实例变量在方法外声明,在方法内使用
//变量类型(自定义类型) 变量名字 = new 变量类型();
Demo2 demo2 = new Demo2();
System.out.println(demo2.age);//未设置初始值则默认为0
System.out.println(demo2.name);//未设置初始值则默认为null(除基础类型外,其余均是null)
System.out.println(demo2.num);//未设置初始值则默认为0.0
System.out.println(demo2.right);//未设置初始值则默认为false
System.out.println(demo2.what);//未设置初始值则默认为
//类变量在方法外声明,加static;在方法内使用
System.out.println(salary);
}
//其它方法
public void add(){
}
}常量:
初始化后不改变:final 常量类型 常量名 = 常量值,常量名一般为大写字母
public class Demo3 {
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量、方法、类名的命名规范:
-
类成员变量/局部变量/方法名:首字母小写,第二个及以后单词首字母大写monthSalary
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写,第二个及以后单词首字母大写
运算符:
-
算术运算符:+、-、*、/、%、++(自增)、--(自减)
-
赋值运算符:=
-
关系运算符:>、<、>=、<=、==、!=(不等于)
-
逻辑运算符:&&(与)、||(或)、!(非)
-
位运算符:&、|、^、~、>>、<<、>>>
-
条件运算符:?:
-
扩展赋值运算符:+=、-=、*=、/=
自增自减运算符:
public static void main(String[] args) {
int a = 1;
int b = a++;//赋值运算级先于自增运算x++
System.out.println(a);
System.out.println(b);
int c = ++a;//++x运算级先于赋值
System.out.println(a);
System.out.println(c);幂运算:
double num = Math.pow(2,3);
逻辑运算符:
a&&b:短路运算:若a为false,则b处不进行运算考虑直接返回false
位运算符:
public static void main(String[] args) {
/*位运算符与二进制有关
A= 0011 1100
B= 0000 1101
与:A&B = 0000 1100
或:A|B = 0011 1101
亦或:A^B = 0011 0001(相同则取0,不同则取1)
取反:~B = 1111 0010
C = 0000 0010 = 2
D = 0001 0000 =16
左移:<< 2<<3=16
右移:>> 16>>3=2
*/扩展赋值运算符:
a+=b: a=a+b
a-=b: a=a-b
字符串连接符
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(""+a+b);//结果为1020(+前后但凡有string类型则默认全化为string类型)
System.out.println(a+b+"");//结果为30
System.out.println((a+b+"")=="30");//结果为false
}三元运算符
public static void main(String[] args) {
/*
x?y:z
如果x==true,值为y;反之值为z
*/
}
-
五、包机制
-
一般使用公司域名倒置作为包名:
com.baidu.www
-
为使用该包需在程序中明确导入该包:
import package1[.package2...].(classname|*;)
//import package.*导入该包下所有的类alt+enter自动补包来源
六、JavaDoc生成文档
JavaDoc命令用来生成自己API文档
参数信息:
-
@author 作者名
-
@version 版本号
-
@since 指明需要最早使用的jdk版本
-
@param 参数名
-
@return 返回值情况
-
@throws 异常抛出情况
/**
* @author tonmoregulus
* @version 1.0
* @since 15.0
*/
String name ;
/**
*
* @param name
* @return
* @throws Exception
*/
public String test (String name) throws Exception{
return name;
}使用IDEA生成Javadoc文档