Java笔记1-Java相关概念和如何实现跨平台
一.Java相关概念
1.Java语言的核心特点
跨平台
面向对象
2.Java的历史版本
JDK1.0,JDK1.1,JDK1.2....JDK5.0,JDK6.0,JDK7.0,JDK8.0
注意:JDK5.0是一个标志性的版本,该版本引入了很多新特性.
3.Java的分类
Java从1.2开始,分为三个不同的分支
JavaSE(Java Standard Edition),Java标准版,专门用来开发桌面级应用
JavaEE(Java Enterprise Edititon),Java企业版,专门开发大型企业级应用
JavaME(Java Micro Edition),Java微型版,专门用来开发移动设备的应用
4.其他
JDK Java Development Kit,Java开发工具包
JRE Java Runtime Environment,Java运行环境
JVM Java Virtual Machine,Java虚拟机
API Application Provider Interface,应用程序接口
SPI Service Provider Interface,服务供应商接口
--
二.Java是如何实现跨平台的?
C程序运行
软件
操作系统
硬件
Java程序运行
Java程序
JRE(JVM提供运行的运行环境)
JVM(JVM是用C语言实现的,它是一个软件)
操作系统
硬件
注意:真正跨平台的是虚拟机JVM!!!
xxx.java Java源文件,写的是Java源代码,人可以看懂
xxx.class Java字节码文件,写的是二进制,机器可以看懂
编译 运行
源文件 --------> 字节码文件 ----------> 结果
总结:
把人可以看懂的Java源文件通过JDK编译过后得到机器可以看懂的字节码文件,
这个字节码文件加载到不同平台的JVM中就可以实现跨平台运行了!
--
cmd命令行常用命令
1.启动命令行
开始->运行->输入cmd/win + R + cmd
2.切换盘符
盘符:
3.进入文件夹
cd 文件夹名
cd 路径
注意:路径可以是绝对路径也可以是相对路径.
绝对路径,带盘符,执行电脑中唯一的一个位置
相对路径,不带盘符,它可能指向多个位置
4.退出文件夹
cd .. 退到上一层
cd ../../.. 退出多层
5.自动补齐
tab
6.清屏
cls
7.回忆命令
上下按键
--
三.如何编写一个Java程序?
1.先从Oracle官网下载相应操作系统的JDK
2.安装JDK,配置环境变量
a.右击我的电脑->属性->高级标签->环境变量
b.新建
变量名:JAVA_HOME
变量值:JDK的路径,例如:C:\Program Files\Java\jdk1.7.0_25
c.编辑Path,在Path原来的变量值前加入:
%JAVA_HOME%\bin;
3.验证环境变量配置是否成功,
运行->cmd,输入java和javac验证
4.写一个Java文件,文件后缀为.java,这个文件叫做一个Java类.
创建workspace工作空间文件夹,在里面建立src文件夹和bin文件夹,
src是用来存放编写好的Java源文件,bin是用来存放编译好的字节码文件.
如何写一个Java类?
package 包名;
public class 类名{
public static void main(String[] args){
//代码;
}
}
注意:
a.类名必须与源文件名高度一致
b.大括号成对出现
5.编译和运行
把文件目录定位到src中
(1).在src中编译和运行
编译:
javac -d ../bin HelloWorld.java
把HelloWorld.java编译成字节码文件,HelloWorld.class,把该文件放入到
向上一层目录中的bin文件夹中.
运行HelloWorld.class字节码文件:
java -cp ../bin com.tz.day01.HelloWorld
(2).在workspace根目录下编译和运行
编译:
javac -d bin src/HelloWorld.java
运行:
java -cp bin com.tz.day01.HelloWorld;
--
输出语句
System.out.println(...);
ln表示输出完括号中的内容过后换行!
注意,输出语句支持数学运算以及字符串的连接
--
包(package)
1.作用:
a.用来扩展类的命名空间
b.用来管理类文件
2.包的命名规范:
全部采用小写字母,中间用.隔开,企业中往往采用公司域名的倒置来命名
com.qq.image
com.qq.test
com.qq.entity
com.qq.dao
com.qq.dao.impl
com.qq.config
..
注意:包名.类名叫做类的全限定名
com.tz.day01.HelloWolrd,运行时必须是全限定名!
--
注释:
单行注释 //
多行注释 /* */
文档注释 /** */
作用:用来说明代码,目前学习阶段我们可以把它当做代码中的笔记,方便复习
在企业中,注释是很重要的!
--
main方法,它是程序主入口,程序想要运行,必须有此方法.
public static void main(String[] args){
}
--
获取用户键盘输入
0.导入
import java.util.Scanner;
1.创建Scanner对象
Scanner sc = new Scanner(System.in);
2.
System.out.println("提示...");
3.
int i = sc.nextInt();//整数
String s = sc.nextLine();//一句话
Java笔记1-Java相关概念和如何实现跨平台的更多相关文章
- 转 Java笔记:Java内存模型
Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记 ...
- java 笔记(4) —— java I/O 流、字节流、字符流
Java中使用流来处理程序的输入和输出操作,流是一个抽象的概念,封装了程序数据于输入输出设备交换的底层细节.JavaIO中又将流分为字节流和字符流,字节流主要用于处理诸如图像,音频视频等二进制格式数据 ...
- Java笔记:Java集合概述和Set集合
本文主要是Java集合的概述和Set集合 1.Java集合概述 1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组 ...
- Java笔记:Java 流(Stream)、文件(File)和IO
更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...
- 菜鸡的Java笔记 简单JAVA 类的开发原则以及具体实现
/* 现在要求定义一个雇员信息类 在这个类之中包含有雇员编号 姓名 职位 基本工资 佣金等信息 对于此时给定要求实际上就是描述一类事物,而这样的程序类在在java之中可以将其称为简单java类 ...
- java笔记--理解java类加载器以及ClassLoader类
类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制 ...
- 疯狂java笔记(七) - Java集合之Map
Map是以键值对(key-value)的形式来存储数据的.而且Map不允许key的重复,通过Map存储key-value对时,只需要考虑key的存储就可以,key存储后value就会跟着key(完全可 ...
- java笔记 chapter1 java是什么,能干什么,有什么,特点,开发环境
一,java是什么 二,java能干什么 三,java有什么 四,java的特点 五,java的三大特性:虚拟机,垃圾回收和代码安全 六,构建JSE开发环境:下载安装jdk和配置环境变量 七,编写并运 ...
- effective java笔记之java服务提供者框架
博主是一名苦逼的大四实习生,现在java从业人员越来越多,面对的竞争越来越大,还没走出校园,就TM可能面临失业,而且对那些增删改查的业务毫无兴趣,于是决定提升自己,在实习期间的时间还是很充裕的,期间自 ...
- Java笔记 #05# Java Native Interface
参考资料:http://www.ntu.edu.sg/home/ehchua/programming/java/javanativeinterface.html(很详细) 看jdk源代码时,经常会看到 ...
随机推荐
- PHP中的闭包和匿名函数
闭包的概念是指在创建闭包时,闭包会封装周围的状态的函数.即便闭包所在环境不在了.但闭包中封装的状态依然存在. 匿名函数就是没有名称的函数. 它们看似很函数一样,实际上它们属于Closure类的实例 P ...
- android DevicePolicyManager实现一键锁屏
本文章一部分资料来源于网上 1.实现一键锁屏关键是DevicePolicyManager这个类,然后使用lockNow():方法. 2.DevicePolicyManager类,可以让你的做软件获得系 ...
- (原创)IP协议Header部分的Checksum计算方法
- Pycharm使用问题# Interpreter设置
Pycharm可以迅速更换interpreter版本. 在菜单栏选择File-Settings打开Settings设置对话框,选择展开Interpreter选项: 使用列表右侧的+和—即可增加和删除I ...
- RSync实现文件备份同步详解
1.rsync简介 rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个 ...
- Android各组件/控件间通信利器之EventBus
实际项目开发过程中,经常遇到如下场景:不同的应用程序组件的控件间具有一定的相互关联性,其中用户对后者进行的某种操作会引起前者的相应改变.举一个具体的场景:以糗事百科为例,在糗事列表页和详情页页,对于每 ...
- AngularJS事件绑定的使用详解
本文和大家分享的主要是AngularJS中事件绑定相关知识点,希望通过本文的分享,对大家学习和使用AngularJS有所帮助. 1.绑定事件:表达式.事件方法名: 2.绑定点击事件实例:显示.隐藏页面 ...
- jsp项目与mysql链接
因为毕设是地下车库管理系统,所以打算学习jsp进行开发~ 今天主要是[新建网站项目+mysql链接],在此篇之前所做的工作:tomcat服务器配置,mysql数据库的安装与启用(在之后的开发中可以使用 ...
- CSS动画 防止动画结束后,回归原位
animation-fill-mode防止动画结束后,回归原位 animation: arrowsfirst 1s; animation-timing-function: linear; animat ...
- python3批量删除豆瓣分组下的好友
python3批量删除豆瓣分组下的好友 """ python3批量删除豆瓣分组下的好友 2016年6月7日 03:43:42 codegay 我两年前一时冲动在豆瓣关注了 ...