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(虚拟机上)
- 面向对象 Oriented Obiect 状态 变量 行为 函数 封装性的思想 区分了内和外
- 类 对象的蓝图 模板 样板房
简单的源代码格式 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运算符