Java是一种区分大小写的强类型准动态语言
动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化,类型的检查是在运行时做的,优点为方便阅读,清晰明了,缺点为不方便调试;(比如 : JavaScript Ruby Python OC)
静态类型语言的类型判断是在运行前判断(如编译阶段),比如 C#, Java, C, C++就是静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要,所以一般动态语言都会采用dynamic typing; (此部分来自于百度百科)
Java遵循: 里氏替换原则;OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性。“抽象”是语言提供的功能。“多态”由继承语义实现。
1.在一个.java文件中只能有一个 public 类, .java 文件的名字一定是和public类名字一致,一个类对应一个 .class 文件
清晰三者关系 JVM JRM JDK
JVM Java virtual machine Java虚拟机 可以用于实现跨平台
JRE Java RunTime Environment 包含了JVM和核心类库,存在jre的情况下可以运行java 程序
JDK Java Development Kit Java 开发工具包包含运行时所需要的工具和JRE
2.数据类型
* 数据类型:决定了变量所占内存空间的大小.并且给变量确定了类型.
* 分类:有符号型(有负数,0,正数)和无符号型(只有0和正数)
*
* 主要研究有符号型:
* 两类:
* 1.简单数据类型
* >数值型
* >>byte 一个字节 [-2^7, 2^7-1]
* >>short 2个字节 [-2^15,2^15-1]
* >>int 4个字节 [-2^31,2^31-1]
* >>long 8个字节 [-2^63,2^63-1]
* >浮点型:小数-采用的科学计数法
* >>float 4个字节 最大值:3.4028235E38
* >double 8个字节 最大值:1.7976931348623157E308
* >布尔型
* >>boolean 1个字节 只有两个值: true/false
* 注意点:java中boolean值只有两个值.跟c不一样.c中0可以表示false,非零表示true
* >字符型
* >char 1个字节 这里所对应的字符集是ASCII--世界通用标准 '0'--48 'A'--65 'a'--97
* 常用的字符集: GBK/GB2312(中国) ISO8859-1 欧洲的 utf8 通用标准 unicode 内部标准
* 对于中文: 2个字节(英文一个字节) 不支持中文-对应一个字节 3个字节 2个字节
*
* 编码:我们将字符(字符串)通过字符集转成对应的二进制形式
* 解码:反之解码
* 乱码:在编码与解码过程中使用的字符集不一致,造成了错误.
//1.数据类型之间的转换
//数据的类型等级高低(根据数据的范围划分):从低到高:byte,char-short-int-long-float-double
/*
* 自动类型转换:从低等级到高等级,不会造成数据的损失,但是可能浪费一些内存.
* 强制类型转换:从高等级到低等级.有可能造成数据的损失.
3.标识符是什么?
标识符就是用于Java程序中变量,类,方法等命名的符号。规则:
① 不可使用java关键字和保留字.
② 可以使用26个字母大小写,数字0-9,$和_ 以及UNICODE字符集任意的字符(不包含ASCII码重复的部分, 虽然可以用但是 非常不建议使用)
③ 数字不可以放在首位.
④ 长度理论上没有限制,但命名最好能反映出其作用,遵循”驼峰形式”,见命知意. 此部分来自(https://www.cnblogs.com/mmmmyblog/p/7990392.html)
Java语言有51个关键字,其中const和goto虽然被保留但未使用。你不能使用保留关键字来命名类、方法或变量。
保留关键字
数据类型:Boolean int long short byte float double char class interface
流程控制:if else do while for switch case default break continue return try catch finally
修饰符: public protected private final void static strictfp abstract transient synchronized volatile native
动作: package import throw throws extends implements this Super instanceof new
保留字: true false null goto const 此部分来自(https://www.cnblogs.com/ouysq/p/4474267.html)
4.
注释 编译时会直接忽略
常量
变量
进制转换
运算符
流程控制语句{
顺序结构
分支结构
循环结构
}