- java语言
- 语言:人与人交流沟通的表达方式
- 计算机语言:人与计算机进行信息交流沟通的特殊语言
java 语言是美国sun公司(Stanford University Network)在年推出的计算机语言
java之父:詹姆斯·高斯林(James Gosling)
- java语言发展史
java版本 | 发布年份 |
---|---|
java1.0 | 1996 |
java1.1 | 1997 |
java1.2(革命性版本) | 1998 |
java1.3 | 2000 |
java1.4 | 2002 |
java5.0(更新力度太大) | 2004 |
java6.0 | 2009 |
java7.0 | 2011 |
java8.0(甲骨文公司收购)(公司开发常用) | 2014 |
java9.0 | 2017年9月 |
java10.0 | 2018年3月 |
java11.0(前两个为过度版本,学习常用) | 2018年9月 |
- java版本
- javaSE:标准版,定位在个人计算机上的应用。
- javaEE:企业版,定位在服务器端的应用。
- javaME:微型版,定位在消费性电子产品的应用上。(会被安卓开发取代)
-
c语言
诞生于1972年,可以称之为现代高级语言的鼻祖,由著名的贝尔实验室发明。
-
c++语言
作为c语言的扩展,结合了面向对象编程。科学计算、 *** 作系统、网络通信、系统开发、引擎开发中仍然被大量使用。
-
java语言
Java广泛应用于企业级软件开发、安卓移动开发、大数据云计算等领域,几乎涉及IT所有行业。
-
PHP语言
PHP语言,一般用于WEB开发领域;大量的中小型网站以及某些大型网站使用PHP开发。
-
Object-C和Swift语言
Object-C通常写作Objective-C或者Obj-C或OC,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。OC主要用于苹果软件的开发。
-
JavaScript语言
JavaScript是一种脚本语言,已经被广泛用于Web应用开发;应用范围越来越大,重要性越来越高。目前,流行的H5开发的核心其实就是JavaScript语言。
-
python语言(胶水语言)
Python广泛应用于:图形处理、科学计算、web编程、多媒体应用、引擎开发;尤其是在未来大热方向机器学习和人工智能上有非常大的潜力。
-
c#语言
微软发布的,和java非常像。开发基于Windows桌面的首选。
-
Fortran语言
主要用在需要复杂数学计算的科学和工程领域。现在仍然被广泛使用,尤其是工程领域。
-
Basic语言
虽然易学,但功能不够强大,应用到大程序的有效性令人怀疑。已经逐步退出历史舞台。
-
COBOL语言
主要用于大量精确处理数据的商业领域中,比如金融、银行。今天,仍然有超过一半的商业软件使用COBOL编写。
-
Pascal语言
Pascal语言语法严谨,层次分明,程序易写,可读性强,是第一个结构化编程语言。只限于大学教育。
-
跨平台、可移植性(核心)
-
安全性:适合于网络/分布环境,容易构建防病毒,防篡改系统。
-
面向对象:适合大型软件设计开发。
-
简单性:是c++简化版,去掉了一些内容,例如:头文件,指针运算,结构,联合, *** 作符重载,虚基类等等。
-
高性能:Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。初期是性能低。
-
分布式: Java是为Internet的分布式环境设计的,因为它能够处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,Remote Method Invocation),使程序能够通过网络调用方法。
-
多线程:多线程的使用可以带来更好的交互响应和实时行为。
-
健壮性:Java程序不可能造成计算机崩溃。如果出现某种出乎意料之事,程序也不会崩溃,而是把该异常抛出,再通过异常处理机制加以处理。
- JVM(java虚拟机,Java Virtual Machine)就是一个虚拟的用于执行bytecode字节码的”虚拟计算机”。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。JVM负责将Java字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。不同的环境有不同的虚拟机。
- JRE(java运行环境,Java Runtime Environment)包含:Java虚拟机、库函数、运行Java应用程序所必须的文件。
- JDK(java编译器, Java Development Kit )包含JRE,以及增加编译器和调试器等用于程序开发的文件。
- 下载
官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
安装好的jdk安装路径下:
bin目录是存储一些可执行的二进制文件;
lib存储相关的jar包;
src.zip是jdk相关的java类的源代码。
- 配置环境变量
- 右击计算机——》属性——》高级系统设置;
- 单击环境变量按钮;
- 单击新建按钮,新建JAVA_HOME变量(用于说明JDK的安装目录);
- 修改系统环境变量Path,在最前面追加%JAVA_HOME%\bin 并以;
注意:jdk1.5之后不需要配置classpath。
- 测试jdk安装成功(win+r打开cmd)
public class Welcome{
public static void main(String[] args){
System.out.println("Hello java!");
}
}
(1)打开cmd,进入保存文件的目录
(2)编译:javac Welcome.java(编译生成一个class文件)
(3)执行:java Welcome
- Java对大小写敏感,如果出现了大小写拼写错误,程序无法运行。
- 关键字public被称作访问修饰符(access modifier),用于控制程序的其它部分对这段代码的访问级别。
- 关键字class 的意思是类。Java是面向对象的语言,所有代码必须位于类里面。
- 一个源文件中至多只能声明一个public的类,其它类的个数不限,如果源文件中包含一个public 类,源文件名必须和其中定义的public的类名相同,且以“.java”为扩展名。
- 一个源文件可以包含多个类class。
- 正确编译后的源文件,会得到相应的字节码文件,编译器为每个类生成独立的字节码文件,且将字节码文件自动命名为类的名字且以“.class”为扩展名。
- main方法是Java应用程序的入口方法,它有固定的书写格式:
- public static void main(String[] args) {…}
- 在Java中,用花括号划分程序的各个部分,任何方法的代码都必须以“{”开始,以“}”结束, 由于编译器忽略空格,所以花括号风格不受限制。
- Java中每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多行。
命令 | 作用 |
---|---|
cd 目录路径 | 进入一个目录 |
cd … | 进入父目录 |
dir | 查看本目录下的文件和子目录列表 |
cls | 清空屏幕 |
tab | 自动补齐命令 |
-
记事本
(1)Notepad++
(2)UItraEdit
(3)EditPlus
-
开发集成环境
(1) eclipse官方网址:http://www.eclipse.org
(2) IntelliJ IDE官方网:http://www.jetbrains.com/idea/
(3) NetBeans 官方网址:https://netbeans.org/
- 下载地址:http://www.eclipse.org/downloads/eclipse-packages/
不需要安装,解压就可以使用
- 创建一个小项目
【项目】桌球游戏小项目
练习目标:
1.找到敲代码的感觉
2.收获敲代码的兴趣
3.作出效果,找到自信
4.从一开始就学会调试错误
5.掌握Java代码基本结构
项目需求:
桌球在球桌中按照一定线路和角度移动,遇到边框会自动d回。
代码:
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class BallGame extends JFrame{
Image ball=Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk=Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
double x=100; //小球的横坐标
double y=100;//小球的纵坐标
double degree = 3.14/3; //弧度。此处就是:60度
//化窗口的方法
public void paint(Graphics g) {
System.out.println("窗口被画了一次!");
g.drawImage(desk, 0, 0, null);
g.drawImage(ball,(int)x, (int)y, null);
x = x+ 10*Math.cos(degree);
y = y +10*Math.sin(degree);
//碰到上下边界
if(y>500-40-30||y<40+40){//500是窗口高度;40是桌子边框,30是球直径;最后一个40是标题栏的高度
degree = -degree;
}
//
// //碰到左右边界
if(x<40||x>856-40-30){
degree = 3.14 - degree;
}
}
//窗口加载
void launchFrame() {
setSize(856,500);
setLocation(50,50);
setVisible(true);
//重画窗口,每秒画25次
while(true){
repaint();
try{
Thread.sleep(30); //40ms, 1秒=1000毫秒. 大约一秒画25次窗口
}catch(Exception e){
e.printStackTrace();
}
}
}
public static void main(String[] args) {
BallGame bg=new BallGame();
bg.launchFrame();
}
}
12、练习题
一、选择题
- 以下( C )不是Java的特点。(选择一项)
A.平台无关性
B.高可靠性和安全性
C.指针运算
D.分布式应用和多线程
- 以下选项中关于Java跨平台原理的说法正确的是( AC)。(选择二项)
A Java源程序要先编译成与平台无关的字节码文件(.class),然后字节码文件再被解释成机器码运行
B. Java语言只需要编译,不需要进行解释
C. Java虚拟机是运行Java字节码文件的虚拟计算机。不同平台的虚拟机是不同的
D. Java语言具有一次编译,到处运行的特点,可以在所有的平台上运行
- 以下选项中是对一个Java源文件进行正确编译的语句是( D )(选择一项)
A. java Test
B. java Test.class
C. javac Test
D. javac Test.java
- 在Java中,源文件Test.java中包含如下代码,则程序编译运行的结果是( B)。(选择一项)
public class Test {
public static void main(String[ ] args) {
system.out.println("Hello!");
}
}
A 输出:Hello!
B. 编译出错,提示“无法解析system”
C. 运行正常,但没有输出任何内容
D. 运行时出现异常
- 有一段Java 程序,其中public类名是A1,那么保存它的源文件名可以是( A )。(选择一项)
A. A1.java
B. A1.class
C. A1
D. 都不对
二、简答题
-
计算机语言发展史中的主线。
答:第一代:机器语言;第二代:汇编语言;第三代:高级语言(c语言,c++,java,object-c,c#)
-
Java的跨平台的实现原理。
答:Java源代码经过编译,生成字节码文件,交由Java虚拟机来执行,不同得系统有不同得JVM,借助JVM实现跨平台。
-
JDK、JRE、JVM 的区别和联系。
答:jdk是java开发工具包,包含jre和jvm;jre是java运行环境,包括jvm;jvm是java虚拟机。
-
Java程序的开发和执行过程。
答:创建java文件;编写java代码;编译java源程序;执行生成的字节码文件。
-
环境变量Path的作用和配置。
作用:可以在任意路径下执行javac命令;
配置:打开高级环境设置》配置JAVA_HOME》在path中添加java_home》保存退出。
三、上机 *** 作
- 使用记事本编写第一个Java程序。
public class Test{
public static void main(String[] args){
System.out.println("Hello java!");
}
}
- 使用记事本编写Java程序(重点练习打印语句System.out.println()),开发学生管理系统主菜单界面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-inwP8mBl-1651504437169)(TyporaIMG/Untitled/1508466235430156.png)]
public class Test2{
public static void main(STring[] args){
System.out.println("=====================");
System.out.println("\t主菜单");
System.out.println("\t1.注册");
System.out.println("\t2.登录");
System.out.println("\t3.帮助信息");
System.out.println("请选择:");
System.out.println("=====================");
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)