目录
1、注释
//这是第一个Java程序
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello,world!");
}
}
2、标识符
//标识符:名字(见名知意);大小写敏感
public class Demo02 {
public static void main(String[] args) {
//标识符 大写字母 小写字母 $ _ 数字(不能作为开头)
//类名 HelloWorld
//变量名 monthSalary
//方法名 runRun()
}
}
3、数据类型
//数据类型 八大基本类型 引用类型
public class Demo03 {
public static void main(String[] args) {
//整数
byte a = 127;
short b = 32767;
int c = 2147483647;
long d = 92233720368547L;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
//浮点数
float e = 13.14F;
double f = 1314.1314;
System.out.println(e);
System.out.println(f);
//字符
char g = '字';
char h = 'A';
char i = 'a';
System.out.println(g);
System.out.println(h);
System.out.println(i);
//布尔
boolean flag = true;
boolean flag1 = false;
System.out.println(flag);
System.out.println(flag1);
}
}
4、类型转换
//类型转换 高转低强制转换 低转高自动转换
public class Demo10 {
public static void main(String[] args) {
//高转低强制转换
// 条件是转换的数据类型必须是兼容的。
int a = 10;
byte b = (byte) a;
System.out.println(b);//10
int c = 128;
byte d = (byte) c;
System.out.println(d);//-128 内存溢出 -128不在byte范围内
//低转高自动转换
// 转换前的数据类型的位数要低于转换后的数据类型
int e = 1314;
double f = e;
System.out.println(f);//1314.0
//浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
float g = 3.14f;
double h = 15.26;
int i = (int) g;
int j = (int) h;
//损失精度
System.out.println(i);//3
System.out.println(j);//15
}
}
5、变量
//变量 内存中的一块区域 存储值
public class Demo14 {
public static void main(String[] args) {
//数据类型 变量名称 = 值
//八大基本类型变量
byte a = 20;
short b = 100;
int c = 200;
long d = 3000;
char e = 'A';
float f = 13.14f;
double g = 145.12;
boolean flag = true;
//引用类型变量
String name = "qinjiang";
}
}
6、常量
/*
静态变量除了被声明为常量外很少使用。
常量是指声明为public/private,final和static类型的变量。
常量:大写字母和下划线: MAX_VALUE
常量初始化后不可改变。
*/
public class Demo16 {
public static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
7、变量类型
/*
类变量:又叫静态变量,用 static 修饰;属于类本身,除了被声明为常量外很少使用。有默认值
实例变量:属于实例,当一个对象被实例化之后,每个实例变量的值就跟着确定;有默认值
局部变量:类的方法中的变量。没有初始值,必须初始化才能使用;访问修饰符不能用于局部变量;
*/
public class Demo15 {
static double salary = 2500;//类变量
String name;//实例变量
int age;//实例变量
public static void main(String[] args) {
int i = 10;//局部变量
//输出类变量的值
System.out.println(salary);//2500.0
//输出实例变量的值
Demo15 demo15 = new Demo15();
System.out.println(demo15.name);//null 引用类型默认值
System.out.println(demo15.age);//0 数值类型默认值
//输出局部变量的值
System.out.println(i);//10
}
}
8、运算符
//运算符之算术运算符
public class Demo01 {
public static void main(String[] args) {
int a = 5;
int b = 15;
System.out.println(a + b);//20
System.out.println(a * b);//75
System.out.println(a / b);//0 int运算结果中有小数时舍弃小数
System.out.println(a % b);//5
//注意点1 类型转换
System.out.println(a / (double) b);//0.3333333333333333 保证运算精度:类型转换
//注意点2 混合运算
// 字节数小于等于int的运算结果为int类型
// 字节数大于int的有long float double,运算时结果是字节数最大的类型
byte c = 10;
short d = 20;
System.out.println(c + d);//30 int类型
int e = 30;
System.out.println(c + d + e);//60 int类型
long f = 1314L;
System.out.println(c + d + e + f);//1374 long类型
double g = 13.14;
System.out.println(e + f + g);//1357.14 double类型
float h = 12.13f;
System.out.println(e + h);//42.13 float类型
}
}
//关系运算符 比较的结果为布尔值
public class Demo02 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a == b);//false
System.out.println(a > b);//false
System.out.println(a < b);//true
System.out.println(a != b);//true
}
}
//特殊的算术运算符:自增自减运算符
public class Demo03 {
public static void main(String[] args) {
int a = 10;
int b = 10;
System.out.println(a++);//10
System.out.println(a);//11
System.out.println(a--);//11
System.out.println(a);//10
System.out.println(++b);//11
System.out.println(b);//11
System.out.println(--b);//10
System.out.println(b);//10
}
}
//逻辑运算符 与&& 或|| 非!
public class Demo04 {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println(a && b);//false
System.out.println(a || b);//true
System.out.println(!(a && b));//true
//短路运算
int c = 5;
boolean d = (c < 4) && (c++ < 4);
System.out.println(d);//fasle
System.out.println(c);//5 c++ < 4未执行
}
}
//位运算 按位运算 & | ^ ~ >> << >>>
public class Demo05 {
public static void main(String[] args) {
/*
A 的值为60 变量B的值为13
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 如果相对应位都是1,则结果为1,否则为0
A | B = 0011 1101 如果相对应位都是0,则结果为0,否则为 1
A ^ B = 0011 0001 如果相对应位值相同,则结果为0,否则为1
~A= 1100 0011 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
A << 2得到240 即 1111 0000
A >> 2得到15 即 1111
A>>>2得到15 即0000 1111
*/
}
}
//条件运算符 x?y:z
public class Demo06 {
public static void main(String[] args) {
int score = 80;
String type = score > 60 ? "及格" : "不及格";
System.out.println(type);
}
}
//字符串连接符 +
public class Demo08 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a + b);//30
System.out.println(a + b + "zhang");//30zhang
System.out.println("zhang" + a + b);//zhang1020
}
}
9、包机制
package com.zhang.operator;
//包必须放在第一行
import com.zhang.base.*;
public class Package {
public static void main(String[] args) {
}
}
10、JavaDoc
//javadoc生成帮助文档 tools--generate javadoc
/**
* @author zhangdi
* @version 1.0
* @since 1.8
*/
public class Doc {
public static void main(String[] args) {
}
}