Java基础语法—基础阶段
1:注释
注释:注释并不会被执行,它相当于一种备注,告诉他人或自己,这段代码是关于什么的
书写注释是一种非常好的习惯
Java中的注释有三种:
- 单行注释:只能注释一行文字
双斜杠(//)来写单行注释,如下图箭头所指 - 多行注释:可以注释一段文字
用
/* */
来写多行注释
- 文档注释 (JavaDoc):
只需输入/**再按回车就出来了
有趣的代码注释:
// _ooOoo_
// o8888888o
// 88" . "88
// (| -_- |)
// O\ = /O
// ____/`---'\____
// . ' \\| |// `.
// / \\||| : |||// \
// / _||||| -:- |||||- \
// | | \\\ - /// | |
// | \_| ''\---/'' | |
// \ .-\__ `-` ___/-. /
// ___`. .' /--.--\ `. . __
// ."" '< `.___\_<|>_/___.' >'"".
// | | : `- \`.;`\ _ /`;.`/ - ` : | |
// \ \ `-. \_ __\ /__ _/ .-` / /
// ======`-.____`-.___\_____/___.-`____.-'======
// `=---='
//
// .............................................
// 佛祖保佑 永无BUG
2:标识符和关键字
2.1关键字
这些关键字不可作为类名,不可以用这些关键字去取名
2.2写标识符的注意点
2.2.1 所有标识符都应该以字母(A-Z or a-z)、美元符(¥)、下划线(_)开始,如下图所示
不可以以数字、#开头,如下图(报错了)
2.2.2首字符之后可以是字母、¥、_、数字的任何字符组合
但是像#这个类特殊字符不可以用在变量命名当中
2.2.3不可以使用关键字作为变量名或方法名
2.2.4标识符是大小写敏感的
这个Woman和woman是完全不一样的
Java中不可以重名
3:数据类型
Java是一个强类型语言(也叫强类型定义语言),也就是它的要求很严格。
注意:所有变量都必须先定义后才能使用
下图就是因为没定义A(A是空的),所以输出不了
- JAVA的数据类型分为两大类:
基本类型(primitive type)
引用类型(reference type)
基本类型:
//八大基本类型----从下面八大类型中就可以体会java是强类型语言
//整数
int num1 = 1000;
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//写long类型时,一般会在数字后面加L
//浮点数(小数)
float num5 = 50.1F;//flout类型要在数字后面加F
double num6 = 3.14152143432;
//字符:字符代表一个字,只能写一个
char name = 'A';
char name1 = '请';
//布尔值类型,代表是非,它只要两个值(true和fault)
boolean flag = true;
引用类型:除了基本数据类型之外的
4:变量概念
变量:就是可以变化的量
变量的书写格式:
数据类型 变量名 = 值 ;
5:类型转换
Java是强类型语言,当你要进行运算时,最好先将不同类型的数据先转化为同一类型,再进行运算
因为byte类型最大的容量是127,代码中是因为128超过内byte的范围出现了内存溢出的情况,所以打印出了-128
//强制类型转换:从高转到低需要强制转换
public class Demo05 {
public static void main(String[] args) {
int i = 128;//此时i是int类型
byte b = (byte)i;// 用 (数据类型)变量名 进行强制转换;内存溢出
System.out.println(i);
System.out.println(b);
}
}
//自动转换:从低到高就是自动转换;不用写什么,直接转
double c = i;//自动转换
System.out.println(c);
/**
* 注意点:
* 1.不能对boolen进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.在把高容量的转换到低容量的时候,要进行强制转换
* 4.转换时,可能存在内存溢出或精度问题
*/
6.变量、常量、作用域
定义变量的格式:
public class Demo07 {
public static void main(String[] args) {
//int a,b,c;//同时定义三个变量;但不建议这么做
//int a=1,b=2,c=3;//同时定义三个变量,也给了初始值
String name = "Lynn";//建议一行定义一个变量
char x = 'X';//定义变量的格式: 数据类型 变量名 = 值 ;
double pi = 3.14;
}
}
变量作用域:
类变量:写在类里面的;需要加关键词static(静态的)
实例变量:可以写在类中间;在方法的外面,类的里面,没有static这个关键词
局部变量:写在方法里面的
常量:
常量:初始化之后就不能再改变的值了;需要用到一个关键词:final
定义常量的格式:
final 常量名 = 值 ;
常量名一般使用大写字符
public class Demo09 {
static final double PI =3.14; //也可以这样写 final static double PI =3.14; 修饰符不存在先后顺序
public static void main(String[] args) {
System.out.println(PI);
}
}
注意:命名规范
类变量、局部变量、方法名遵循 首字母小写和驼峰原则
类名遵循 首字母大写和驼峰原则
常量遵循 全部大写
7:基本运算符
注意:
- java中把取余运算也叫做模运算
- &&:与
- || :或
- ! :非
- 位运算符:与位相关的
8:自增自减运算符、初试Math类
package operator;
public class Demo04 {
public static void main(String[] args) {
// ++ :叫自增 -- :叫自减
int a = 3;
int b = a++;//这句:执行完这行代码后,先给b赋值,再自增
System.out.println(a);//此时a=4
int c = ++a;//这句:执行完这行代码前,先给b赋值,再自增
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算:借助一些工具类(如:Math)来实现
double pow = Math.pow(2,3);//计算2的3次方,会返回结果
System.out.println(pow);
}
}
9:逻辑运算符、位运算符
package operator;
public class Demo06 {
public static void main(String[] args) {
/*位运算
A = 0011 1100 (A是二进制的)
B = 0000 1101
A&B:位运算的A与B:每位去比较; A&B为0000 1100
A|B:位运算的A或B:每位去比较; A|B为0011 1101
~B:位运算的非运算:取反; ~B为1111 0010
A^B:位运算的异或运算:每位去比较; A^B为0011 0001
*/
/*
位运算:效率极高
<< 叫左移;相当于把数字乘于2
>> 叫右移;相当于把数字除于2
*/
}
}
10:三元运算符及小结
package operator;
public class Demo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b; //意思是a=a+b
a-=b; //意思是a=a-b
System.out.println(a);
}
}
package operator;
public class Demo08 {
public static void main(String[] args) {
//三元运算符 ? 和 :
//例如 x ? y :z的意思是 如果x==true,则结果为y,否则结果为z
int score = 80;
String type =score < 60 ? "不及格" : "及格"; //score < 60 ? "不及格" : "及格" 这句的意思是如果score小于60就返回不及格否则返回及格
System.out.println(type);
}
}