JavaSE基础
1.IDEA的一些快速输入
public static void main(String [] args){}
psvm
System.out.print() sout
2、 public static void main
public static void main(String[] args),是java程序的入口地址,java虚拟机运行程序的时候首先找的就是main方法。
对main函数讲解一下,参数String[] args是一个字符串数组,接收来自程序执行时传进来的参数。如果是在控制台,可以通过编译执行将参数传进来,命令行如下:
vm在试图运行一个类之前,先检查该类是否包含一个特殊方法。这个方法必须是公有的,以便在任何位置都能访问得到。“public”表示程序的访问权限,表示的是任何的场合可以被引用。
3、注释
单行注释 //
多行注释/* */
文档注释
/**
*
*/
4、标识符
Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。
- 数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
- 流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
- 修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
- 动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
- 保留字:true、false、null、goto、const。
所有的标识符只能以 字母、_、$ 开头,大小写敏感,可以使用中文名
5、数据类型
数据类型基础
强类型语言,要求变量得到使用严格规定,所有变量都必须定义后才可以使用。
//基本数据类型
int num1 =10;
byte num2=20;
short num3=30;
long nume4=40L; //后面要加一个L
boolean flag=true;
float num5=50.1f; //后面要加一个f
double num6=3.1415;
char name='A';
//字符串,String不是关键字,是一个类
String namea="LYQ";
数据类型拓展
float和double数据类型是有局限性的:有限、离散、舍入误差、大约、接近但不等于
最好完全避免使用浮点数进行比较
在类似银行业务的时候,应该使用BigDecimal数学工具类来进行比较
char c1='a';
char c2='中';
System.out.println((int) c1);
System.out.println((int) c2);
所有的字符本质都是数字,所有字符都是编码实现的
转义字符 最常用的 \t \n
类型转换
强制类型转换 (类型)变量名
不能对布尔类型进行转换
高容量转换到低容量时,强制转换
操作比较大的时候注意溢出问题,要在计算之前记得转换
jdk7的特性,数字之间可以用下划线分割,比如100_0000
public static void main(String[] args) {
int i=128;
byte i2=(byte)i;
System.out.println(i2);
变量
在空间的位置是固定的,但是内容是可以变化的。
type varName [=value] [{,varName[=value]}]
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。
变量的作用域:类变量(需要加static)、实例变量、局部变量
public class Demo8 {
//类变量 static
static double salary=2500;
//实例变量:从属于对象,如果不进行初始化,就会变成默认值,除了基本类型,剩下的都是null
String name;
int age;
public static void main(String[] args) {
//局部变量:必须声明和初始化值、
int i=10;
System.out.println(i);
Demo8 demo8=new Demo8();
System.out.println(demo8.age);
System.out.println(demo8.name);
System.out.println(salary);
}
}
常量:初始化之后不允许改变
final 常量名=值;
final double PI=3.14;
常量名一般用大写字符
变量命名规范:
所有变量、方法、类名:见明知意
类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个字母以外,后面的单词首字母大写
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:GoodMan
方法名:首字母小写和驼峰原则
6、基本运算符
注意这里的与是&&,或是||
CTRL+D:复制当前行到下一行
在运算的时候按照优先级强制转换,但是整型的话,最低也是int了。
//++ -- 自增自减 一元运算符
int a=3;
int b=a++; //执行完代码后,先给b赋值,再自增
int c=++a; //先自增,再赋值
逻辑运算符 && || ! 与或非不要弄混了
// 短路运算
int c=5;
boolean d=(c<4)&&(c++<3);
System.out.println(c);
短路运算,结果应该是c=5,因为前面判断了之后,后面就不会判断了
位运算:
/*
A=0011 1100
B=0000 1101
A&B 一位一位的比较,都是1才是1
A|B 都是0是0,否则为1
A^B 相对为0,否则为1
~B 取反
2*8怎么运算最快 2*8=2*2*2*2
<<左移 数字乘以2 >>右移 数字除以2
0000 0000 0
0000 0001 1
0000 0010 2
0000 1000 8
*/
字符串拼接
int a=10;
int b=20;
//字符串连接符 +
System.out.println(a+b);
System.out.println(""+a+b);
System.out.println(a+b+"");
出现字符串之后会自动将其它的内容转化为字符串
三元运算符 ?:
//x?y:z
//如果x为真,就是y,否则就是z
int score=80;
String type=score<60? "不及格":"及格";
7、包机制
Java中的一个包就是一个类库单元,包内包含有一组类,它们在单一的名称空间之下被组织在了一起。这个名称空间就是包名。可以使用import关键字来导入一个包。例如使用import java.util.*就可以导入名称空间java.util包里面的所有类。所谓导入这个包里面的所有类,就是在import声明这个包名以后,在接下来的程序中可以直接使用该包中的类。
包机制可以有效的解决命名冲突的问题,类似于文件夹。
一般利用公司域名倒置作为域名。
通配符* 全部导入 import java.util.*
生成javadoc,后面的只是为了显示中文正常
使用IDEA生成JavaDoc
https://www.jianshu.com/p/0ddb0864e499

浙公网安备 33010602011771号