### 为什么要选择java语言?
全球600多种计算机语言:c、c#、java、python、javascript
1)从性能:c语言、c++(通讯5g、驱动、游戏)
2)从高并发:c/go/java/scala,go语言(google)、scala全能(基于java)
3)人工智能:python、java
4)桌面开发:C/S,性能最强,它直接利用本机资源;VB、C#(java)、java(awt、swing)X
5)网站开发:B/S,最早微软asp+com+,java出品 jsp+servlet、ssh/ssm。B/S升级一台服务器,C/S升级麻烦
跟浏览器要支持,applet小程序,flash安全漏洞,iso,h5+javascript、vue
### java 安装JDK/JRE/JVM
JDK java开发者工具包、JRE java运行环境、JVM java虚拟机
eclipse开发 HelloWorld.java(纯文本),先编译compile把java文件变成class文件(二进制)中间结果(在eclipse点击保存时,没有编译错误,会自动调用javac.exe,编译文件产生class文件),运行时,会执行class文件。
不是直接给硬件机器,给jvm的。jvm先加载class类,运行时执行这个类main方法,会加载基础jar包,java.lang.*,rt.jar,jvm要翻译class文件代码,翻译计算机硬件机器码。
java文件给开发者看的,class文件不是给开发者看,给jvm看的。翻译一下机器码,机器码是给操作系统和硬件看的。
package cn.tedu.hello;
//功能:实现加法和减法
public class TestMethod {
//通过main方法调用add方法,赋值参数,打印结果
public static void main(String[] args) {
//非静态方法必须先创建对象实例,通过对象实例去调用
//写法:类名 实例名 = new 类名(); 对象Object
//实例名(对象)习惯:类的首字母小写即可
//图纸-类(一个),大厦-对象(可以多个)
TestMethod testMethod = new TestMethod();
//怎么调用一个对象的某个方法add,使用点操作符
int r = testMethod.add(10, 20); //参数填写具体值
//字符串会原样输出,第一个r是字符串内容,第二个变量r
//+号在java中赋予两个含义,数学加号,
//字符串拼接(java底层会自动转换整数为字符串)
System.out.println("r="+r);
//对象创建后可以复用,无需再次创建,在一个方法中
int r1 = testMethod.add(3, 4);
System.out.println("r1="+r1);
}
/*
* 添加加法方法,声明:
* 不写static就是非静态方法
* 返回整数值 int,声明时写返回值类型
* 写代码是先写结构,然后往里面填充内容
* 参数,写参数类型和参数名称,这里不是填写具体值
* 多个参数之间用逗号隔开,不是分号
* 返回值时必须使用return
*/
public int add(int a, int b) {
return a+b; //表达式,先计算a+b,将结果返回
}
}