第一章 java入门

内容概括

java地位

java诞生

java特点

安装JDK

简单的java应用程序

注释

编译风格

反编译

内容详细

java地位


地位:java确实具备了‘一旦写成,处处可用的特点’(平台无关)

java诞生

java之父--James Gosling
1990年sun公司成立了由James Goslingling领导的开发小组

java特点

特点:面向对象,平台无关,多线程,动态,简单
//平台无关:
1、平台与机器指令
平台:操作系统(os)和处理器(cpu)构成
平台无关:软件的运行不因操作系统,处理器的变化而无法运行或出现运行错误
机器指令:每个平台都会形成自己独特的机器指令,就是可以被该平台直接识别,执行的一种由0,1组成的序列代码。例如:相同的cpu不同的操作系统所形成的平台的机器指令可能是不同的。某种平台可能用8位序列代码00001111表示加法指令,而另一种平台可能用00001111表示减法指令。

2、c/c++程序依赖平台
c/c++编写的程序可能会因为操作系统的变化,处理器的升级导致程序出现错误或无法运行
c/c++针对当前c/c++源程序所在的特定平台对其原文件进行编译,链接,生成机器指令,即根据当前平台的机器指令生成可执行文件,那么在任何与当前平台相同的平台都可以运行这个可执行文件。
如果更换了平台,可能需要修改源程序,并针对新的平台重新编译源程序。

3、java虚拟机与字节码
java可以在平台之上在提供一个java运行环境,该环境由java虚拟机,类库以及一些核心文件组成
java虚拟机的核心是所谓的字节码指令,即可以被java虚拟机直接识别,执行的一种由0,1组成的序列代码。
字节码指令不是机器指令,因为他不和特定的平台相关,不能被任何平台直接识别,执行。
java针对不同的平台提供的java虚拟机的字节码指令是相同的,例如所有的虚拟机都将11110000识别,执行为加法操作。
java语言提供的编译器不针对特定的操作系统和CPU芯片进行编译,而是针对java虚拟机把java源程序编译成称为字节码的中间代码。例如:java原文件中+被编译成字节码指令11110000,字节码是可以被java虚拟机识别,执行的代码。java虚拟机负责解释运行字节码,运行原理是:java虚拟机将字节码编译成虚拟机所在平台的机器码,并让当前平台运行机器码。
//java将源文件编译为针对java虚拟机生成的字节码文件,能运行在有java运行环境的平台,在该运行环境中java虚拟机将字节码翻译为所在平台的机器码,当前平台运行机器码。

安装JDK

java要实现‘编写一次,到处运行’的目标就要提供相应的java运行环境,及运行java程序的平台
1、平台简介
java SE
称为java标准版或java标准平台。JavaSE提供的java Development Kit (JDK),利用该平台可以开发java桌面应用程序和低端的服务器应用程序

java EE
称为java企业版或java企业平台,使用它可以构建企业级的服务应用,javaEE平台包含了javaSE平台,并增加了附加类库,以便支持目录管理。交易管理和企业级消息处理等功能。

2、安装javaSE平台
java集成开发工具eclipse,idea...都将jdk作为系统的核心,非常有利于快速的开发各种基于java语言的应用程序。
下载

(14条消息) 说一下关于java和eclipse的安装使用问题_右耳要加油的博客-CSDN博客

java程序开发步骤

编写源文件,编译源文件,运行程序

补充事项:使用文本编辑器,扩展名为.java

编译文件后得到的是字节码文件

cd .. 退回上一级

cd \ 退回根目录

换盘符 d:

简单的java应用程序

源文件编写与保存



public class Hello {
    public static void main(String [] agrs){
        System.out.println("大家好");
        System.out.println("Nice to meet you!");
        Student1 stu = new Student1();
        stu.speak("We are students");

    }
}
class Student1 {
    public void speak(String s){
        System.out.println(s);
    }


}
/*源代码中所涉及的小括号及标点符号都是英文状态下输入的,字符串里面的符号不受汉子符号或英文符号的限制
只能有一个类是public类,如果有一个类是public类那么源文件的名字必须与这个类的名字完全相同,如果没有public类那么源文件的名字只要和某个类的名字相同

 编译

进入目录的命令是:cd 目录名
退出目录的命令是:cd..
javac不是内部或外部命令也不是可运行的程序或批处理文件。请检查是否为环境变量path指定了java的安装路径(重新设置环境变量,重新打开)。也可以在窗口设置临时path。例如 path D:\java\jdk1.8\bin
1、字节码文件
如果源文件中包含多个类,编译源文件将生成多个扩展名为.class的文件,每个扩展名是.class的文件中只存放一个类的字节码,名字与类名相同,存放位置与源文件相同。
如果对源文件进行了修改,必须进行重新编译,在生成新的字节码文件。
2、字节码的兼容
JDK1.6之后的编译器不在向下兼容,jdk1.6编译器生成的字节码只能在安装JRE1.6或者高于1.6的java平台环境中运行
-scource 参数约定字节码适合的java平台
javac -scource 1.6 文件名.java
这样子编译生成的字节码可以在1.6版本及以上的java平台上运行
jdk1.8编译器默认的使用该参数,并取值为1.8

运行

1、运行程序的主类
一个java应用程序必须有一个类包含public static void main(String [] args)方法
java.exe解释器执行字节码文件,java应用程序总是从主类的main方法开始执行。
public class People {
	int height;
	String ear;
	void speak(String s) {
		System.out.println(s);
	}

}
class A{
	public static void main (String [] args) {
		People zhubajie;
		zhubajie = new People();
		zhubajie.height=170;
		zhubajie.ear = "两只大耳朵";
		System.out.println("身高:"+zhubajie.height);
		System.out.println(zhubajie.ear);
		zhubajie.speak("师傅,咱们别去西天了,去月宫吧");
	}
}

java反编译

所谓反编译就是把编译器得到的字节码文件还原成原文件
反编译器 javap.exe
javap Hello

编程风格

1、Allmans风格
独行风格,即左右大括号各占一行
适用:代码量小,代码布局清晰,可读性强

2、Kernighan风格
行尾风格,即左括号在上一行的行尾,右大括号独占一行

注释

注释的目的是有利于代码的维护和阅读,编译器忽视注释的内容
单行注释 //
多行注释 /**/

/**
*当前注释会被写入javadoc.exe工具解析
*提取并生成帮助文档

*/

习题

1、java语言的主要贡献者是 James Gosling
2、开发java应用程序需要经历那些步骤
编写源文件
编译
运行
3、 java原文件由什么组成?一个源文件中必须要有public类吗?
如甘个类组成。不是
4,如果jdk的安装目录是D:\jdk,应该怎样设置path和classpath
path D:\jdk\bin
classpath = D:\jdk\jre\lib\rt.jar;.;
5、java源文件的扩展名是什么?java字节码的扩展名是什么?
.java 
.class
6、如果java应用程序的主类名字是Bird,编译之后,应当怎么样运行程序?
java Bird
7、有那两种编程风格,在格式上有什么特点?
Allmans 独行风格,代码清晰
Kernighan 行尾风格,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右耳要加油

你们的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值