斜体文字
加粗
斜体加粗
废弃
这是一个引用
姓名 | 性别 | 生日 |
---|---|---|
1 | 2 | 3 |
print("hello word");
JDK: JAVA Development kit
JRE: JAVA Runtime Environment
JVM: JAVA Virtual Machine
public class hello{
public static void main(String[] args){
System.out.print("hello world");
}
}
编译型:源程序编译后即可在该平台运行,运行速度快。
解释型: 运行期间才编译,跨平台性能好
Java和其他的语言不太一样。因为java针对不同的平台有不同的JVM,实现了跨平台。所以Java语言有一次编译到处运行的说法。
1.你可以说它是编译型的:因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有。
2.你可以说它是解释型的:因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。
3.但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。
集成开发环境(*IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。
强类型语言:要求变量的使用必须严格符合规定,必须先定义后使用。 强类型语言是一种强制类型定义的语言,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了,强类型语言包括Java、.net 、Python、C++等语言。
举个例子:定义了一个整数,如果不进行强制的类型转换,则不可以将该整数转化为字符串。
弱类型语言: 弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换。弱类型语言包括vb 、PHP、javascript等语言。
? 举个例子:
var A =5;
var B = "5";
SumResult = A +B;
MinResult = A -B;
基本数据类型:
引用数据类型:除了基本类型之外的,例如类,接口,数组。
进制 :
精度丢失:当小数存储的时候,小数用二进制存储是无限的,存储位数有限。
字符编码:ASCII,Unicode 和UTF-8:
ASCII: ASCII 码一共规定了128个字符的编码,比如空格SPACE
是32(二进制00100000
),大写的字母A
是65(二进制01000001
)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0
。
Unicode: 可以表示世界上的所有符号。它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。
UTF-8: UTF-8 就是在互联网上使用最广的一种 Unicode 的实现方式。UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。
UTF-8 的编码规则很简单,只有二条:
1)对于单字节的符号,字节的第一位设为0
,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。
2)对于n
字节的符号(n > 1
),第一个字节的前n
位都设为1
,第n + 1
位设为0
,后面字节的前两位一律设为10
。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。
Unicode符号范围 | UTF-8编码方式
(十六进制) | (二进制)
----------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
跟据上表,解读 UTF-8 编码非常简单。如果一个字节的第一位是0
,则这个字节单独就是一个字符;如果第一位是1
,则连续有多少个1
,就表示当前字符占用多少个字节。
下面,还是以汉字严
为例,演示如何实现 UTF-8 编码。
严
的 Unicode 是4E25
(100111000100101
),根据上表,可以发现4E25
处在第三行的范围内(0000 0800 - 0000 FFFF
),因此严
的 UTF-8 编码需要三个字节,即格式是1110xxxx 10xxxxxx 10xxxxxx
。然后,从严
的最后一个二进制位开始,依次从后向前填入格式中的x
,多出的位补0
。这样就得到了,严
的 UTF-8 编码是11100100 10111000 10100101
,转换成十六进制就是E4B8A5
。
大头模式和小头模式(4E25)
Unicode:编码是四个字节FF FE 25 4E
,其中FF FE
表明是小头方式存储,真正的编码是4E25
。
Unicode big endian:编码是四个字节FE FF 4E 25
,其中FE FF
表明是大头方式存储。
public static void main(String[] args) {
//从键盘接收数据
Scanner scanner = new Scanner(System.in);
//判断有无输入
if(scanner.hasNext()){
//nextLine() 以回车为结束,next() 以空格为结束
String str = scanner.nextLine();
System.out.println(str);
}
//关闭该对象
scanner.close();
}
public static void main(String[] args) {
//数组静态初始化
int[]array1 = {1,2,3,4,5,6,7};
//数组动态初始化
int[]array2 = new int[10];
array2[0] = 1;
}
构造器(构造方法):与类名称相同且无返回值的一个方法。
作用:
实例化初始值,定义带参数的构造器,若想使用无参构造,需显式定义无参构造器。
public class Student {
String name;
int age;
// alt+insert 快速插入构造器
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
原文:https://www.cnblogs.com/goodzhangjiahui/p/14434020.html