JDK(Java Development kit) Java 开发工具包
javac Compiler(编译器)
JRK(Java Runtime Environment)Java运行时环境
JVM(Java Virtual Machine)Java虚拟机(一次编写,多次执行)

**** 记得保存
dir 是查看该目录下所有文件
java
编译:javac -encodin UTF-8 +源代码名称.java (这个过程中会出现编译错误)
运行:java +类名称 (java+hhhh)(可能出现运行时错误)
运行在JVM(虚拟机上)

  1. 面向对象 Oriented Obiect
    状态 变量
    行为 函数
    封装性的思想 区分了内和外

  2. 对象的蓝图 模板
    样板房

简单的源代码格式
public class 类名称 {
// java 的入口函数(方法)
public static void main(String[] args){
//写代码的位置
System.out.println("中文 或者 英文“);
}
}
类名称与文件名要一样(规定)
类名称用英文

数据类型和操作符

java中支持四种变量:
1.属性 | 实例变量(int field)
2.静态属性 | 类变量(static int staticfield)
3.局部变量(函数内部变量)
4.参数(函数引入的参数)
如何定义变量:数据类型+变量名(identifier)
1.直接加分号;定义了变量,并且没有初始化
2.=value; 定义了变量,并且进行了初始化
命名变量名(包括类名、方法名)一些规则
1.必须以 字母 或者 下划线 或者 $ 开头
2.之后的部分可以是字母、下划线、$、以及数字
3.变量名的长度可以无限长的
4.变量名不可以和 java 的关键字重复
5.是大小写敏感的。int java;int Java;
命名的规范:
1.永远不要用$和下划线命名(下划线有个特例)
2.永远使用有意义的名字作为变量名,包括缩写;
3.不要用中文以及拼音命名
4.类名称 每个单词的首字母都大写的形式 (class HelloWorldApp)
方法名称 单个单词,除第一个单词外,首字母大写(int helloWorldApp)
变量名称
常量(不可以修改) 每个字母都大写,用下划线分割(final int COUNT_OF_COURSES=100)
5.类名称和变量名称 (大概是个名字)
方法名称(大概是个动词)
对象:a: 状态(属性)
b:行为(方法)
数据类型:
1.基本数据类型(primitive data type)
a:数值类型(两类)
b:布尔类型(boolean) 真or假
c:字符类型(char)
2.引用数据类型(reference data type)
char类型里保存的不是一个ASCII编码,而是一个Unicode编码
ASCII 和 Unicode 两个都是字符编码标准
7位表示 31位表示

字面量(Literal)
int a=10;
1.×××的字面量
100;默认为int
100L;(long)
进制
十进制 100 100L
十六进制 0xFF 0xFFL
二进制 0b01010 0b1010L
100(int型的字面量)byte a=100; byteb=233(报错);
short(-2^15 - 2^15-1)
long
100L(long 型的字面量)int a=100L(报错);
2.浮点型的字面量
1).0 (double)
2).0F 1.0F (float)
double a=1.0F;(允许)
float b=1.0;(不允许,报错);
李氏转换原则:
需要一个大范围的变量,放一个小范围的变量时自然而允许的;
强制类型转换(type cast)
long a=100L;
int b=(int)a;

char以及String类型
字符 字符串
char c=‘中’;
char c='\u4e2d';(用Unicode转义序列)
String s="中国";//用双引号
String 的加法运算
public static void learnStringAdd(){
int a=3;
int b=4;
System.out.println("结果是"+a+b)
System.out.println("结果是"+(a+b))
}
public static void main(String[] args){
learnStringAdd();
}
运行结果是:
结果是34
结果是7

运算符

赋值运算符
初始化
修改值
final int a=100;//a的值不能修改
算术运算符(+-*/%)
一元运算符(++ -- + !+10 -10)
!逻辑取反只能用于boolean类型
int a=10; !a //C语言合法,java不合法
比较运算符 (== != < > <= )
条件运算符(&& || ?:)// (?:只允许用于boolean类型)
短路特性
位运算符(~ & | ^)(^异或)
位移运算符(<< >> >>>)

和>>>的区别:
带符号右移 >>>不带符号右移
instanceof 类型判断运算符:对象 instanceof 类型(类)==true | false
凡是逻辑运算,都用boolean运算符