一.java的第一个程序(错误是提高的阶梯,永远不要把错误当错误,不犯错,不可能成长!)

public class Helloworld {
    
        public static void main(String args[]){
        System.out.println("hello java");
        }
        }

注:String args[] 与 String[] args 都可以执行,但推荐使用 String[] args,这样可以避免歧义和误读。

 

 

二:java体系及基本定义

跨平台是java语言的核心优势赶上了互联网的发展,随着互联网的发展,建立了强大的生态体系,目前已覆盖了IT各个行业。

 

Java分为三个体系:

  • JavaSE(J2SE)     定位在个人计算机上的应用(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)          定义在服务器端的应用  (主流)(Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)        定位在消费性电子产品的应用(越来越少) (Java 2 Platform Micro Edition,java平台微型版)。

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字”2″:J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。

java的特性和优势:

跨平台/可移植性(java的int 永远都是32位,c++可能是16,32,根据编译器而变化)

安全性:有字节码校验器

简单性:在c++上去掉头文件、指针运算、结构、联合、操作符重载等。入门简单,难于后面的架构、协作

高性能:通过虚拟机的优化提升效率

分布式、多线程:更好的相应和实时

健壮性:不可能造成整个计算机崩溃,程序有误,可抛出异常,再通过异常处理机制加以处理。

java应用程序的运行机制:

计算机高级语言的类型主要有编译型(c++  c)和解释型(php  python)两种,java是两种类型的结合(在运行过程中,既有编译的过程也有解释的过程)。

如果是编译型语言,如C,程序写好之后,直接与操作系统挂钩。

java利用文本编译器写成java源程序,后缀为  .java,再利用编译器(javac)编译成字节码文件,后缀为  .class,最后利用虚拟机解释执行。(java通过JRE与操作系统联系,是跨平台的核心机制)

 

JVM、JDK、JRE的区别

JVM(Java Virtual Machine):是一个虚拟机用于执行字节码的“虚拟计算机”,与操作系统联系

JRE(Java  Runtime Enviornment) :包含Java虚拟机、库函数、运行Java应用程序锁必须的文件

JDK(Java Development Kit):java开发包,包含JRE,以及增加编译器和调试器等用于程序开发的文件。

 关系:JDK包含JRE 以及SUN公司oracle(甲骨文公司)开发了很多可以直接用的,也非常好用的类库(String),JRE包含JVM。

 

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。

下面简要介绍下类、对象、方法和实例变量的概念。

  • 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种; 行为有:摇尾巴、叫、吃等。
  • :类是一个模板,它描述一类对象的行为和状态。
  • 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

补充 ♥:标识符及其使用规范(数字不能开头)

标识符是用来给变量、类、方法及包命名的,如:Welcome、main、System、age等,需要遵守一些规则:

•必须以字母、下划线、美元符号$开头;

•其他部分可以是字母、下划线”_” 、美元符”$”和数字的任意组合。

•Java标识符大小敏感,且长度无限制。

•标识符不可以是java的关键字。

•表示类名的标识符:每个单词的首字母大写,如:GoodMan

•表示方法和变量的标识符:第一个单词小写,第二个单词开始首字母大写,“驼峰原则”,如:eatFood( )

 

java采用Unicode 标准的国际字符集,不仅是英文,还包含汉字等。

测试实例:(对于初学者来说,再简单的代码也要敲出来!)

 

变量本质上代表一个“可操作的存储空间”,空间位置是确定的,但是里面的值不确定。

相当于停车场里的“车位”,里面的车不一样(值),车位的大小(存值大小)也不一样,所以要先声明变量的名称(车的类型:大货车、小轿车)及数据类型(eg:double)。不同的数据类型在内存中分配不同的空间,如double何long有8个字节,int类型有4个字节;一个字节(byte) 有8位(bit)组成。java中每个变量都必须先声明其数据类型,变量的数据类型决定其存储空间的大小。变量作为程序中最基本的存储单元,要素包括变量名,变量类型及作用域。可以在一行中声明多个变量,如:int i,j;但是不建议,逐一声明每一个变量可以提高程序的可读性。变量声明并初始化之后才可以使用。

 变量分为:局部变量、成员变量、静态变量

局部变量(local variable):方法或语句内部定义的变量。在使用前必须先声明、后使用。   如:int i;  int j=i+6;   会报错,未初始化i;

成员变量(实例变量member variable) :方法外部,类的内部定义的变量。生命周期伴随对象始终。如果不自行初始化,会自动初始化成该类型的默认值。

实例变量的默认初始值
int  0
double 0.0
char ’\u0000\’
boolean false

静态变量(类变量static variable):使用static 定义,从属于类,生命周期随类始终。

常量(constant)   :主要是利用关键字final来定义一个变量,常量一旦被初始化后不会再改变。被final修饰的称为符号常量。

被final修饰后,不能被修改

常量的赋值:大写字母和下划线 如:MAX_VALUE 

                     final double PI=3.14;

 

java中定义了3类8种基本数据类型

数值型:byte(1个字节) 、short (2个字节)、int (4个)、long(8个)、float (4个)、double(8个)

字符型:char

布尔型:boolean

 

 

数值型:

 

整数型:举例:byte:1个字节=8位, 28=256,因为可以表示负数,所以拿出一位表示符号-128,中间有0,所以是+127。

 

java语言整型常量的四种表示形式

十进制整数,如:99,-55

八进制整数,要求以0开头,如:015

十六进制整数,要求以0x或0X开头,如:0x15

二进制数,要求以0b开头,如:0b1101

测试整型的输出:

java语言的整型常数默认为int型,声明long型常量可以后加\’l\’或\’L\’。

 浮点数:带小数的数据在java中称浮点型,可分为float类型和double类型

float类型被称做单精度类型,尾数可以精确到7位有效数字。double类型的数值精度约是float类型的两倍,被称做双精度类型。浮点型常量的默认类型为double。

 

浮点类型常量的两种表现类型

十进制形式,如:3.14   0.314

科学计数法形式,如:314e2(314*102)    314E2     314E-2(314*e-2

 

注意:浮点数不精确,一定不要用于比较

 

如果想比较两个数,用java.math包下面的两个类,BigInteger(任意精度的整数运算) 和BigDecimal(任意精度的浮点数运算),这两个类可以处理任意长度的数值。

 

 

 

字符型变量:在内存中占两个字节,在java中使用单引号表示字符常量。如\’A\’是一个字符与”A”是不同的,”A”代表一个字符的字符串。

Uniclde编码通常从\’\u0000\’到\’\uFFFF\’之间的十六进制值来表示。还允许用转义符\’\\’将其后的字符转变为其他含义。

char用来表示字符,String用来定义字符,用双引号。

 

boolean类型:有两个变量值,在内存中占一位(不是一个字节),boolean用来判断逻辑条件,一般用于程序流程控制。

 

版权声明:本文为laurarararararara原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/laurarararararara/articles/11166443.html