新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Java语言所使用的字符集是16位Unicode编码。另外再介绍一些常见的字符集:
企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,创新互联面向各种领域:纯水机等成都网站设计、全网整合营销推广解决方案、网站设计等建站排名服务。
1、最早在dos下写pascal的时候,就遇到ASCII字符集,后来还是dos下写c,也是ascii字符集
特点:目前最通用的单字节编码字符集
表示:单字节
最早ascii用7bit表示,总共能表示2^7=128个字符,后来扩展到8bit,就表示2^8=256个字符
2、GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总岁岩凳局发布,1981年5月1日实施。
特点:当然是能表示99%的中国汉字,还包括拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母等
表示:双字节
3、GBK是汉字编码标准之一,全称《汉字内码扩展规范》,GBK 向下与GB2312编码兼容,向上支持ISO10646.1国际标准。可以认为GBK是在GB2313基础上通过内码扩展出来的一个标准。
特点:完全兼容GB2312标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字
表示:双字节
4、Big5,台湾那边使用比较多。
5、GB 18030,全称是GB18030-2000《信息交换用汉字编码字符集基本集的扩充》,是我国政府于2000年3月17日发布的新的汉字编码国家标准,2001年8月31日后在中国市场上发布的软件必须符合本标准。
特点:就是强大。覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、香港、台湾、日本和韩国等东亚地区信息交换乎旅多文种、大字量、多用途、统一编码格式的要求。并且与Unicode 3.0版本兼容,填补Unicode扩展字符字汇“统一汉字扩展A”的内容。并且与以前的国家字符编码标准(GB2312,GB13000.1)兼容。
表示:单字节、双字节、四字节三种方式
6、Unicode野心更大(当然有一个国际统一标准当然是好事)
特点:Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
表示:utf-8,utf-16,utf-32
这里可能有点不好理解,举个例子
首先,把unicode理解成对所有字符做了一个统一的编号,比如:“字”这个字符,编号是23383,这个是unicode定义的
但是,在计算机中,如何存储这个编号呢?方式就有很多,存储unicode的方式,就是utf-8,utf-16,utf-32
23383数值的16进制表示:0x5b57
utf-8用3个字节来表示汉字,所以utf-8的表示为:0xE5AD97
utf-16用2个字节来表示汉字,所以utf-16的表示为:0x5b57 刚好和数值是一样的
utf-32用4个字节来表示汉字,所以utf-32的表示为:0x00005b57 和数值是一样的,不过浪费空间
7、再来讲讲utf-8,它是一种变枣游长的字符集
表示:单字节来表示字母,双字节来表示一些希腊字母,三字节来表示汉字,当然也有四字节的
这么做当然会增加表示和识别的难度,不过,可以节省空间。这也是为什么utf-8在网络编码中流行的原因。
class A {
double f(double x, double y) {
return x + y;
}
int getNumber(int a) {
return a + 1;
}
static int g(int n) {
return n * n;
}
int m;
int getM() {
return m;
}
int seeM(){return m;}
}
class B extends A {
double f(int x, int y) {
return x * y;
}
int getNumber(int a) {
return a + 100;
}
int xx() {
return 11;
}
static int g(int n) {
int m = A.g(n);
return m + n;
}
int m;
int getM() {
return m + 100;
}
}
class E {
public static void main(String[] args) {
B b = new B();
System.out.println(b.f(3, 5));// 15.0
System.out.println(b.f(3.0, 5.0)); // 8.0
A a = new A();
System.out.println(a.getNumber(10));// 11
a = new B();// 原因为A的引用,B的对象,A的引用a指向B对象,此时的a只会拥有A的方卜如法,但是如果B中有方法覆盖了A的方法,则会使用B的方法
System.out.println(a.getNumber(10));// 110
System.out.println(b.f(10.0, 8.0)); // 18.0
System.out.println(b.g(3));// 12
a = new B();// 原因为A的引用,B的对象,A的引用a指向B对象,此时的a只会拥有A的方法,但是如果B中有方法覆盖了A的方法,则会使用B的方法
System.out.println(a.f(10.0, 8.0)); // 18.0
System.out.println(a.g(3));// 9
b.m = 20;
System.out.println(b.getM());// 120
A a1 = b;// a1指向对象b
a1.m = -100;// a1变量赋值-100
System.out.println(a1.getM());// 120: a1.getM()==实质上已经被b的getM覆盖,且此时用的是b的变量100,调用之后结果为20+100 = 120
System.out.println(b.seeM());// -100: b的seeM()来自父类A,当然会调用父类的A.m=-100,所以此时结果为-100
}
}
class Father {
private int money = 12;
float height;
int seeMoney(){return money;}
}
class Son extends Father {
int height;
int lookMoney() {
int m = seeMoney();
return m;
}
}
class EE {
public static void main(String[] args) {
Son erzi = 纯誉new Son();
// erzi.money = 300;// 错误原因在Son没有money这一属性,什么样的引用对应什型裤启么样的变量和方法
// erzi.height = 1.78F;// 类型错误
}
}
abstract class XX {
// 只能设置可视性修饰符“公用”或“受保护”中的一个
public static void cry(){}
abstract float cry1();
}
Java工作原理
由四方面组成:
(1)Java编程语言
(2)Java类文件格式
(3)Java虚拟机
(4)Java应用程序接口
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类 ,通过调用类(这些姿物类实现了Java API)中的方法来访问资源系衡冲统,把源文件编译生成一种二进制中间码,存储在class文件中,咐册歼然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用 。