初识java

一、java的运行原理及特性
1.对于java的开发环境的认识
JDK 开发---->写java程序,JDK里面包含JRE
JRE 运行环境
javac: java compiler编译器 ---->相当于JDK(在JDK里面才包含编译器)
java: java运行程序 ----->JRE(JRE是运行环境,程序在JRE里面运行的)
2.java有一个特点叫:一次编写到处运行——跨平台
来一个流程图就可以更加清晰的知道它的运行机理啦:
在这里插入图片描述
重点:JVM:java虚拟机,是一个软件模拟系统。java之所以可以跨平台正是因为JVM虚拟机的存在。当你写完一份代码的时候这个源程序对于任何一个操作系统来说都是一样的,然后这个源程序在每个平台下进行编译成为字节码.calss文件,这个文件对于各个操作系统来说也是一样的,但是在不同的操作系统的有适合自己操作系统的JVM,它去按照自己的规则解释这个字节码文件,然后把这个字节码文件编程可执行的程序,最后就可以运行了。所以java可以达到跨平台:一次编写到处运行不是说它的源代码有什么功能,而是它有中间给过度字节码文件.class,有不同的java虚拟机(JVM)去解释它,所以才可以达到跨平台。
3.初识java的main方法

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

对于具体的运行过程和java语言的编译————>运行结合起来解释java程序的执行原理,如下:
在这里插入图片描述
如上就是最简单的java程序,通过这个简单的程序我们可以知道java程序的结构由三部分组成:
(1)源文件(*.java):源文件带有类的定义,类的内容必须包含在大括号里。
(2)类:类中带有一个或者多个方法,方法必须在类的内部声明。
(3)方法:在方法体中写该方法的执行语句。
总的来说就是,类存在于源文件中;方法存在于类中;语句存在于方法中。
4.java的特性
(1)简单性:对于java的简单性肯定是相对于C++来说的,它是一个比较“纯净的版本”,没有了头文件、指针运算、结构、联合、操作符重载等等这些让一些初学者头疼的问题,但其实并不是像大家想象的那样特别简单,只是它的入门可能相对来说低一些。
(2)面向对象:Java语言是面向对象来开发的,虽然对于它的基本类型的数据并不是类,但是它又避免了这个问题,它把这些基本数据包装成了包装类,使得它的所有都是面向对象的。
(3)分布式:有丰富的例程序,就像文件一样可以通过URL访问,更加方便。
(4)健壮性:java相对于C++最大的不同之处在于java采用的指针模型可以消除重写内存和损坏数据的可能性,并且,java编译器可以检测到许多其他语言仅在运行时才能检查出来的问题。
(5)安全性:在java设计的时候它就已经想好了常见的一些问题,比如:堆栈溢出、破坏自己进程之外的内存、在自己权限之外访问文件等,并对其采用了相应的防御办法。
(6)体系结构独立:最主要的是生成了字节码文件,比较独立。
(7)可移植性:因为java是可以一处编写到处运行。它的原理在于:它将源程序代码经过JDK编译以后成为.class的字节码文件,这个文件在不同的操作系统会对应不同的JRE运行环境,不同的运行环境可以去解释当前环境下.class的字节码文件,进行运行。所以它的移植性也就比较强。
(8)解释型
(9)高性能
(10)多线程
(11)动态性
5.运行java程序
首先在notepad++中写好源代码,然后进入java到Windows操作系统中,输入java -version,到C盘,cd —源代码的路径,然后进行以下操作:
编译:javac命令
运行:java命令
二、java的基本数据类型
1.Java标识符与关键字
首先在java中,对于变量、常量、函数、语句块都统称为java标识符。
其中,java标识符由字母、数字、_、 组 成 , 但 是 不 能 以 数 字 开 头 , 不 能 使 用 关 键 字 , 要 见 名 思 意 , 组成,但是不能以数字开头,不能使用关键字,要见名思意, 使不要出现在代码中。
对于类名和变量名的命名,java的标准命名规范为驼峰命名
(1)大驼峰:开头首字母为大写----》类名
特别注意:源文件的文件名要和公共类的类名相同。
(2)小驼峰:开头首字母为小写----》变量名
变量命名:如果一个变量只有一个单词则全部用小写;如果有两个以上则第二个单词开始每个单词的首字母大写。
注意:常量命名全部是大写
2.java关键字:
(1)访问权限修饰符的关键字:private,protected,public
(2)定义类、函数、变量修饰的关键字:abstract,final,static,synchronized
(3)定义建立实例、及引用实例、判断实例的关键字:extends,implements,new,this,super,instanceof
(4)用于异常处理的关键字:try,catch,finally,throw,throws
(5)包的关键字:package,import
(6)其他关键字:native,strictfp,transient,volatile,assert
注意:
java中有两个未使用的保留字:goto、const
java中有三个特殊含义的单词:null、true、false
JDK1.4后又assert,JDK1.5以后有enum
3.数据类型划分
在这里插入图片描述
(1)基本数据类型:数值型(整型、浮点型)、字符型、布尔型
(2)引用数据类型:数组、类、接口(默认值为null)
注意:
(1)在Java中boolean类型的存储是1位,char的存储是2个字节,byte是1个字节(-127——128)。
(2)在java中不同数据类型的字节的数是固定的不会因为在不同的操作系统而发生变化——这是与C语言不同的地方。
三、数据类型的详细内容
1.整型
(1)在Java中任何一个整型常量都是int型。在使用int类型时候如果出现溢出那么就采用更换更大的数据类型。
(2)long的数据类型修饰一个数需要在后面用L/l进行修饰。eg: long num=11+1l---->12
(3)数据类型的转换和C语言相同,大数据转小数据类型必须得强制转化,小数据类型转大数据类型自动转化。当参与运算的变量数据类型不同时,以大数据类型为一致。
(3)数据的默认值在主方法中时无效的,只有在类中通过访问才有效。
eg:
主方法中:

public static void main (String[] args){
	int num;//定义一个整型的变量但未赋值
	System.out.printf(num);
}

没有结果输出
在类中:

public static void main (String[] args){
	int num;//定义一个整型的变量但未赋值
	System.out.printf(num);
}
class Test{
	public int num;
}
public class IntDemo{
	public void main (String[] args){
		System.out.printf(num);
	}
}

输出结果:
在这里插入图片描述
为int的默认值:0.
2.浮点型
double类型的精度比float更高,所以一般在描述小数的时候都是用double。
3.字符类型
在这里char和int也可以相互转换,但是和C语言中有些区别,C语言中是自动进行转换的,在java中char和int之间并不是,由于int是4个字节属于大的数据类型,char是2个字节属于小的数据类型,所以当int---->char:强制转换
char---->int:自动转换。
4.String类
自定义数据类型,它可以描述字符串。
eg:

String note = ’java老师‘;

字符串与字符串之间用’+‘连接。
eg:

int numA=10;
int numB=12;
String result = '计算结果'+numA+numB;
System.out.println(result);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值