java入门
一、java的运行机制
高级语言的运行机制主要有编译型和解释型两种。 C/C++属于编译型语言,由专门的编译器针对特定的操作系统平台进行翻译,生成可执行代码,特定是效率高,但是不利于跨平台开发。python属于解释型语言,使用专门的解释器对源文件逐行成特定操作系统平台的机器码,并立即执行(解释型语言没有编译器,但可以认为每次执行解释型源码都进行一次编译、链接、执行)这使得解释型语言的源码可以跨平台使用(只需不同平台安装不同解释器),但是效率较低。而java的运行机制与以上两种都有不同,java需要编译但是编译生成的不是特定平台的机器码,而是生成与平台无关的字节码,然后由java解释器进行解释执行。java之所以能这样操作是因为引入了java虚拟机(JVM)的概念,每种平台都有自己的JVM,而不同的JVM具有相同的面向java编译器的接口,这样编写的java源码就可以直接用编译器生成不同环境都能解释运行的字节码了。
二、写第一个java程序
1、安装JKD并配置环境变量,这部分参照上一篇博客 Android开发环境的搭建
2、使用记事本或其他文本工具写程序
1 public class helloworld
2 {
3 public static void main(String[] args)
4 {
5 System.out.println("hello world");
6 }
7 }
保存成helloworld.java
然后在命令行里切换到源程序目录,javac是编译java程序的指令 ,java是解释执行java的指令
这里使用Editplus代替命令行
先配置以上两个命令,选择工具-配置自定义工具,然后完成javac和java命令的配置
然后就可以“工具”中就多出了编译java程序和运行java程序两个东西了,分别点一遍,hello world出现了。
三、java的基本规则
1、任何代码必须以类的形式出现
2、java程序的入口程序必须写成
public static void main(String[] args)
{
}
3、如果java源程序里定了public类,那么主文件名必须与该类名相同。(java程序中最多只能定义一个public类)
4、一个java源文件只定义一个类,不同类定义在不同源文件中
- Bash漏洞再次演进:缓冲区溢出导致远程任意命令执行
- Pandas,让Python像R一样处理数据,但快
- ViewPager 实现 Galler 效果, 中间大图显示,两边小图展示
- 最小生成树-Prim算法和Kruskal算法
- Bash漏洞批量检测工具与修复方案
- 组合模式
- 用Fiddler在Android上抓包(Http+https)
- Architecture Components ViewModel的控制。
- React Native之AppRegistry模块
- 揭秘:如何分分钟黑掉你的eBay账号
- C++初始化列表
- React Native调试心得
- R语言学习 - 热图简化
- Java 8新特性
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 【UI自动化-1】UI自动化环境搭建与简单示例
- 【UI自动化-2】UI自动化元素定位专题
- 【UI自动化-3】UI自动化元素操作专题
- maven的安装与使用
- 【Java多线程-1】线程概述与线程创建和使用
- 【Java多线程-2】Java线程池详解
- 【Java多线程-3】Future与FutureTask
- 【Java多线程-4】CompletionService详解
- 【Java多线程-5】 CompletableFuture详解
- 【Java多线程-6】synchronized同步锁
- 【Java多线程-7】阅尽Java千般锁
- 【SpringBoot注解-2】AOP相关注解详解
- 【SpringBoot注解-3】Bean注入相关注解
- 【SpringBoot注解-4】:@Target、@Retention、@Documented注解简介
- 【Linux系列-1】top命令详解