Day02
一、Hello代码详解及细节
/**
学习人:一只大学生
学习时间:2024年
*/
//公有的类叫做Hello,这个类名必须和文件名一样
public class Hello(){
//这种固定写法的方法叫做主方法,运行该类,系统会调用主方法里面的执行语句
public static void main(Srting[] args){
System.out.println("Helloworld...1")
System.out.println("Helloworld...2")
System.out.println("Helloworld...3")
}
}
// '//注释内容' - 单行注释
/*
'/*注释内容/' - 多行注释
'/**注释内容*/' - 文档注释
public-公有的 class-类 Hello-类名
static-静态的 void-无返回值的 main-方法名
String-字符串类型 ps:"好好学习天天向上"
String[]-字符串类型的数组 ps:["小红","小蓝","小绿"]
args-数组名
*/
二、Java的跨平台特性
三、Java的体系划分和发展历史
JavaSE - J2SE - 核心版本
JavaEE - J2EE - 企业级版本(做服务端)
JavaME - J2ME - 微型版本(做移动端、已弃用)
服务端的程序员:JavaSE、JavaEE、网页端、主流框架、微服务
Android端的程序员:JavaSE、AndroidSDK
前雇主:SUN(Stanford University Network)—2009年74亿美金卖给Oracle公司
Java之父:詹姆斯·高斯林 (James Gosling)
版本变更
1995年5月23日,Java语言诞生;
1996年1月,第一个JDK-JDK1.0诞生;
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术;
1996年9月,约8.3万个网页应用了JAVA技术来制作;
1997年2月18日,JDK1.1发布;
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录;
1997年9月,JavaDeveloperConnection社区成员超过十万;
1998年2月,JDK1.1被下载超过2,000,000次;
1998年12月8日,JAVA2企业平台J2EE发布;
1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版;
2000年5月8日,JDK1.3发布;
2000年5月29日,JDK1.4发布;
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机;
2001年9月24日,J2EE1.3发布;
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升;
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本 的重要性,J2SE1.5更名为Java SE 5.0;
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取 消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME;
2006年12月,SUN公司发布JRE6.0;
2009年4月7日Google App Engine开始支持Java;
2009年04月20日,甲骨文74亿美元收购Sun。取得Java的版权;
2010年11月,由于甲骨文对于Java社区的不友善,因此Apache扬言将退出JCP;
2011年7月28日,甲骨文发布Java 7.0的正式版;
2014年3月19日,甲骨文公司发布Java 8.0的正式版
四、IDE
理解:IDE(编码环境),就是写代码的工具
升级:记事本 -> nodepad++ -> eclipse -> IDEA
五、编码问题及解决方案
出现原因:两个端口编码格式不一致
解决思路:两个端口编码格式改成一致就ok
解决方案1:
javac -encoding UTF-8 Test01.java
理解:每次编译时,都使用UTF-8的编码格式去编译
缺点:麻烦
解决方案2:
设置Nodepad++的编码格式(设置->首选项->新建->ANSI)
注意:必须将源文件删除后,新建的文件才生效
六、练习
1.请实现两个整数变量的交换
代码:
public class Practice01{
public static void main(String[] args){
int a = 1;
int b = 2;
int c = a;
a = b;
b = c;
System.out.println(a);
System.out.println(b);
}
}
/*解决方案2:
//缺点:如果数字过大,做运算可能会失去精度
a = a+b;//a-3
b = a-b;//b-1
a = a-b;//a-2
*/
/*解决方案3:
a = a^b;//a - 3
b = a^b;//b - 1
a = a^b;//a - 2
*/
2.求长方形的周长 和 面积 长为1.5 宽为 4
public class Practice02{
public static void main(String[] args){
Double a = 1.5;
Double b = 4.0;
Double c = 2*(a+b);
Double s = a*b;
System.out.println(c);
System.out.println(s);
}
}
3.一辆汽车 以40km/h的速度行驶,行驶了45678.9km,求所用的时间
public class Practice03{
public static void main(String[] args){
Double v = 40.0,s = 45678.9;
Double t = s/v;
System.out.println(t);
}
}
4.定义字符变量赋值为 ‘A’ -->输出 ‘a’
public class Practice04{
public static void main(String[] args){
char myChar = 'A';
myChar = (char)(myChar + 32);
System.out.println(myChar);
}
}
5.键盘录入两个整数 求 两个整数的 乘积
//首先要导入包
import java.util.Scanner;
public class Practice05{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("the first number:");
//这里输入的是字符串格式,所以要转换为整型
int a = Integer.parseInt(sc.next());
System.out.println("the second number:");
int b = Integer.parseInt(sc.next());
int c = a*b;
System.out.println("result:"+c);
}
}
这里要注意输入后得到的是字符串,所以要进行转换数据类型。
也可以用sc.nextInt()直接获取int类型数据。