Java是sun公司于1995年5月23日推出。2009年4月20日,甲骨文收购sun,取得java版权。
版本选择:尽量选择长期维护的版本JDK8(最活跃的、主流)、JDK11、JDK17
特点:
简单性--语法与C和C++相近,使用接口取代了多重继承,并取消指针
面向对象(基础)--“万物皆对象”,语法中不能在类外定义
分布性
平台无关性
多线程
执行流程:
先经过编程,然后解释运行
任何一种可以运行Java程序的都可以看做“java虚拟机”
“编写一次,到处运行”
while和do...while
while...
do...while
区别在于while次数为0-n次,do...while次数为1-n次
例:
while
1+2+3...+99
I=1;
Sum=0;
While(i>=99)
{
Sum+=i;
i+=2;
}
do...while
1+2+3...+99
i=1;
sum=0;
do{
sum+=i;
}do(i>=100)
for循环语句
For循环通常用于已知循环次数的情况
格式:
for(初始化表达式1;布尔表达式2;表达式3){
循环语句
}
break:表示完全结束此循环,跳出循环体,执行循环体后面的语句
continue:跳出当次循环中剩下语句,执行下一次循环
循环嵌套
在一个循环体内又出现有一个或多个完整的循环体
例:输出7*8个星号
For(int i=1;i<=7;i++){
System.out.println(“********”);
}
输出正三角形:
For(int i=1;i<=7;i++){
For(int j=1;j<=2*i-1;j++){
System.out.println(“*********”);
}
System.out.print();
}
一维数组
存储大量相同类型的数据
数组:是一组具有相同类型和名称的变量(数组的元素)的有序集合,一个数组可以有若干个元素
下标:也叫索引,用来指出某个元素在数组中的位置,组中第一个元素下标默认为0。第二个为1,以此类推。如果某一组元素为n,则下标为n-1。
语法格式:
- 数据类型[] 数组名=new 数据类型[长度]; #推荐第一种方式
例:
int[] score=new int[];
- 数据类型[] 数组名;
数组名=new 数据类型[长度];例:
int[] score;
Score=new int[5];
- 例:
int score[] =new int[5];
为数组元素赋初值的语法形式:
- 数据类型[] 数组名=new 数据类型[]{初值列表};
例:
double[] numbers=new double[]{1,2,3,4,5};
- 数据类型[] 数组名={初值列表};
例:
double[] numbers={1,2,3,4,5};
三种方式遍历数组:
冒泡法
基本思想:将相邻的两个数比较,把较大的数调到后面。
例:用冒泡排序法对10个数进行降序排序。
int[] a={2,3,6,5,4,8,7,9,1,11};
For(int I=0;i<9;i++){
for(int j=0;j<9-i;j++){
if(a[j]<a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println(“排序后:”);
For(int j=0;<10;j++){
System.out.print(a[j]+” ”);
}
System.out.println();
int[] a={2,3,6,5,4,8,7,9,1,11};
For(int I=0;i<9;i++){
for(int j=0;j<9-i;j++){
if(a[j]<a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println(“排序后:”);
For(int j=0;<10;j++){
System.out.print(a[j]+” ”);
}
System.out.println();
控制台结果:11 9 8 7 6 5 4 3 2 1
//getter方法实例
public String getBookname(){
return BookName;
}
public String getAuthor(){
if(Author.length()<2){
return Author;
}
StringBuilder Authorn=new StringBuilder(Author);
Authorn.setCharAt(1,'*');
return Authorn.toString();
}
public String getPublisher(){
return Publisher;
}
//setter方法实例
public void setBookname(String BookName){
this.BookName=BookName;
}
public void setAuthor(String Author){
this.Author=Author;
}
public void setPublisher(String chubanshe){
Publisher=chubanshe;
}
构造方法
- 是特殊的方法(2)方法与类同名(3)不能有返回值没有void
语法格式案例:
Public book(String Name,String Zz,double Price){
}
setPrice(double Price) throw Exception{
if(Price==0){
throw new Exception(“价格设置错误”);
}
}
静态方法
静态成员与非静态成员(实例成员)的不同在于,静态成员属于类,而实例成员则总是与特定的实例(对象)联系
-
Math.PI
-
Math.sqrt(b)
感想
在学习java的过程中,很多不熟的和不了解的内容,但是学起来很有趣,让我受益匪浅,可以感受到学习的快乐和学习程序的美好,从接触基础知识到现在的借口抽象的难度,学到了很多。
我使用的学习方法有:
上课认真听:要跟上老师上课的节奏,可以短暂的休息,劳逸结合,但是要学会认真听课,对java的了解程度不能只在简单地实操部分,还是要把理论知识代入,去了解它,去丰富它。
做笔记:我的习惯就是在不太容易记住的地方做点笔记好让自己课后复习,以达到课上课下跟上节奏的程度,在一些重要的地方还能反复回忆一些课堂知识细节。
实际操作:也就是实操,其实一般上专业课,基本都是实操部分,这个部分一定要认真做,是起到一个知识巩固作用,向我们日常基本两节课一个实操也是一个随堂练习,做完老师还会讲评,更加巩固了知识。
课后复习:最好是当天就进行一些操作,比如看下笔记,比如打下代码,当然如果满课的学生就不强求,一回宿舍就想睡觉是我本人了,但是一定要在自己短时间记忆范围复习,不然学了等于白学。
一定要打好基础,虽然这句话是老生常谈,但是这句话真的很现实,因为前期都是铺垫,后续的几乎所有都是以前期的基础为基础发展和出发,还是要认真学基础,后期维护和运营也是靠基础的打底出发的。
最后,希望学习Java的大家都加油吧,学习一门语言就要面对语言的转变,面对语言的不通,不管是日常还是工作还是学习,都要一步一步踏踏实实地出发,期待我们会变得更好!