注释
平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了
注释并不会被执行,是给我们写代码的人看的
书写注释是一个非常好的习惯
java中的注释有三种:
单行注释
// 单行注释
多行注释 :可以注释一段文字
/* 多行注释 */
JavaDos:文档注释 二者加起来使用
/**
*文档注释
*@
*/
平时写代码一定要注意规范
新建项目:Flie→New→Project 名字为javaSE
在File→New→Module...(模块)→java→改名字→创建
修改项目结构:File→Project Structure...→Project
→改成1.8java与8-Lambdas,type annotations→Apple→ok (需要配置好环境)
在src→New→java class→改名字
标识符
关键字
JAVA所有的组成部分都需要名字 。类名、变量名以及方法名都被称为标识符
数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
String a;
System.out.println(a);
输出不了,因为没有定义
String 是字符串
弱类型语言:与之相反
Java的数据类型分为两大类
基本类型(primitive type)
引用类型 (reference type)
八大基本数据类型
//整数
int num1 =10; //最常用
byte num2=20;
short num3=30;
long num4=30L;//Long类型要在数字后面加L
//小数:浮点数
float num5=50.1F;//float类型要在数字后面加F
double num6=3.1415926;
//字符
char name='A'; //只能打一个字符
//字符串,String不是关键字,类
//String namea="中文";
//布尔值:是非
boolean flag =true;
boolean flag =false;
数据类型扩展及面试题讲解
整数拓展
进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 =010;//八进制0
int i3 = 0x10;//十六进制0x; 0-9 A-F 16
...
类型转换
由于JAVA是强类型语言,所以要进行有些运算的时候,需要用到类型转换
//低-------------------------------------------高
byte,short,char,-> int ->long ->fioat -> double
运算中,不同类型的数据先转化为同一类型,然后进行运算。
1.强制类型转换
2.自动类型转换
强制类型转换
高到低 (类型)变量名
int i = 128;
byte b = (byte)i;
自动类型转换
自动转换 低到高
注意点:
1.不能对布尔值进行转换
2.不能把对像类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题
5.JDK新特性,数字之间可以用下划线分割 例:10-0000-0000
6.尽量用大写字母来表示,例:L
变量
变量是什么:就是可以变化的量
JAVA是一种强类型语言,每个变量都必须声明其类型
JAVA变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=value] [{, varName[= value]}];
变量类型 变量名 =值; 可以使用逗号隔开来声明多个同类型变量
注意点:
1.每个变量都有类型,类型可以是基本类型,也可以是引用类型(现在引用类型学了String<--字符串)
2.变量名必须是合法的标识符
3.变量声明是一条完整的语句,因此每一个声明都必须以分号结束
int a=1 b=2 c=3;//尽量不要这样写,为了程序的可读性
int a=1;
int b=2;
int c=3;
String name ="qinjiang";
char x = 'x';
double pi =3.14;
变量作用域
类变量
实例变量
局部变量
public class Variable{
static int allClicks=0;//类变量
String str ="hello world";//实例变量
public void method(){
int i =0;//局部变量
}
}
//属性:变量
实例变量:从属于对象;如果不自行初始化,这个类型的默认认值
//布尔值:默认是false
//除了基本类型,其余的默认值都是null;
String name;
int age;
//main方法
public static viod main(String[] args)
//局部变量是在{}之间有效;必须声明和初始化值
//变量类型 变量名字 = new Demo08();
System.out.println(demo08.age);
//类变量 static
//其他方法
public viod add(){
}
常量
常量(Constant):初始化后不能再改变值,不会变动的值
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 常量名=值;
//修饰符(final),不存在先后顺序
static final double PI=3.14;
常量名一般使用大写字符
变量的命名规范
所有变量、方法、类名:见名知意
类成员变量:首字母小写和陀峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 lastname
局部变量:首字母小写和陀峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和陀峰原则:Man,GoodMan
方法名:首字母小写和陀峰原则:run(),runRun()
运算符
JAVA语言支持如下运算符
算术运算符: + - * / % ++(自增) -- (自减)
赋值运算符 : =
关系运算符:> < >= <= == !=(不等于)
逻辑运算符:&& || !
位运算符:& | ^ ~ >> << >>>
条件运算符 ?:
扩展赋值运算符:+= -= *= /=
复制当前行到下一行:ctrl + D
//二元运算符
int a =10;
int b =20;
int c =30;
int d =40;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
//关系运算符返回的结果: 有两种,一种是正确,一种是错误 通过布尔值来表示
//++ -- 自增 自减 是一元运算符
int a =3;
int b = a++;//a++等于a+1 执行完下一行代码后,先给b赋值,再自增
//a =a+1;
输出a后,结果是4
//a =a+1;
int c =++a;//执行完上一行代码前,先自增,再给b赋值
逻辑运算符
与(and) 或(or) 非(取返)
boolean a =true;
boolean b=false;
System.out.println("a && b) " + (a&&b);//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a || b) " + (a||b);//逻辑或运算:两个变量都为真,结果才为true
System.out.println("!(a && b) " +! (a&&b);//逻辑非运算,若是真,则变为假,若是假则变为真
int a =10;
int b =20;
a +=b; //a=a+b;
a -=b; //a=a-b;
System.out.println(a);
字符串连接符: +
System.out.println(a+b);
System.out.println("冒号内为String");
三元运算符
//x ? y :z
若x==true,则结果为y,否则结果为z
int score = 50;
String type = score<60 ? "不及格" : "及格";
包机制
为了更地组织类,java提供了包机制,用区分类名的命名空间
包语句的语法格式为:
package pkg1[.pkg2[pkg3...]];
一般利用公司域名倒置作为包名;
为了能够使用某一个包的成员,我们需要在JAVA程序中明确导入该包。使用"import"语句可完成此功能
import pacage1[.pacage2[pacaage3...]];
JavaDoc
JavaDoc命令是用来生成自己API文档的
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情
@throws 异常抛出情
/**
*@author LSY
*@version 1.0
*
*/