S1java笔记作业1Word格式.docx

上传人:b****8 文档编号:22955213 上传时间:2023-02-06 格式:DOCX 页数:61 大小:43.24KB
下载 相关 举报
S1java笔记作业1Word格式.docx_第1页
第1页 / 共61页
S1java笔记作业1Word格式.docx_第2页
第2页 / 共61页
S1java笔记作业1Word格式.docx_第3页
第3页 / 共61页
S1java笔记作业1Word格式.docx_第4页
第4页 / 共61页
S1java笔记作业1Word格式.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

S1java笔记作业1Word格式.docx

《S1java笔记作业1Word格式.docx》由会员分享,可在线阅读,更多相关《S1java笔记作业1Word格式.docx(61页珍藏版)》请在冰豆网上搜索。

S1java笔记作业1Word格式.docx

Day1:

7.JDK版本:

JAVAME微型版

手机软件开发

JAVASE标准版

桌面应用程序

JAVAEE企业版

企业级应用开发

8.java语言的特点:

1.简单

没有C、C++中的头文件,指针,运算符重载

2.面向对象

可以开发出较大型的应用程序

3.分布式

通过网络访问应用程序,突破空间限制

4.健壮性(编译时错误检测)

消除有出错倾向的状态:

指针

5.安全性(蠕虫病毒)

禁止运行时堆栈溢出、内存空间未授权读写

6.可移植性

JVM

9.java环境变量配置:

JAVA_HOME:

JDK安装目录,方便在后面两个环境变量的配置中直接被调用即可

path:

%JAVA_HOME%\bin列出可执行文件的搜索路径

classpath:

%JAVA_HOME%\lib\tools.jar

%JAVA_HOME%\lib\dt.jar

.(当前路径)

是java加载类的路径,只有在classpath设置的路径中的类才能被加载

在CMD下运行:

1.java

2.javac

3.java-version

10.JDK安装目录介绍:

Bin编译器和工具

Demo演示

DocsHTML格式的类库文档

Include用于编译本地方法的文件

Jrejava运行环境文件

Lib类库文件

Src类库源文件

11.第一个java程序:

1.文件名与公共类的名字要一致

2.一个文件中可以有多个类,但是只能有一个公共类

3.使用“javac类名.java”来编译源程序

4.使用“java类名”来执行java程序

5.main方法是程序运行的入口,方法必须按照如下书写方式:

publicstaticvoidmain(String[]a){

包名的命名规范:

公司的域名倒写+项目名+模块的名字

12.带包编译:

带包编译:

javac-d./HelloWorld.java

带包运行:

javacom.blues.javabase.day1.HelloWorld

注意:

在同一个包下面不能有同名的类

13.练习:

开发一个Java程序打印出下列信息:

姓名性别年龄毕业学校户籍

14.import的注意事项:

importjava.util.*;

importjava.sql.*;

System.out.println(newjava.util.Date());

15.java的注释:

1.单行注释:

//

2.多行注释:

/**/

3.文档注释

/***/

通过javadoc命令将文档注释提取出来生成java帮助文档:

javadoc-author-version-d./apiHelloWorld.java

16.压缩命令:

Jar-cvffirst.jar完整类名

解压命令:

Jar-xvffirst.jar

运行jar文件中的程序:

java-classpathfirst.jara.b.c.HelloWorld

17.java命令行参数:

publicstaticvoidmain(String[]args){

//打印当前时间

System.out.println(args[0]);

System.out.println(args[1]);

}

运行时:

javacom.blues.javabase.day1.HelloWorldblueswang

18.main方法运行要点:

可执行程序必需要main方法

只能public和static调换位置

args可以是任意的名字

args[0]代表第一个命令行参数

注意:

运行时一定要有命令行参数输入,否则会有数组下标越界异常出现

19.练习:

编程打印出所有命令行的参数。

从命令参数中接收姓名,在程序打印

Helloxxxxx

publicclassDay1_1Homework{

publicstaticvoidmain(Stringarg[]){

Students1=newStudent();

s1.name="

01"

;

s1.age=12;

s1.tell();

};

classStudent{

Stringname;

intage;

publicvoidtell()

{

System.out.println(name+age);

}

Day2:

20.Java标示符:

1,什么是标示符?

在java语言中用来给一个类、变量或方法命名的符号

2,标示符的命名规则:

1.以字母,“_”或“$”符号开头

2.可以包含字母、“_”、“$”和数字符号

3.大小写敏感

4.不能与保留关键字冲突

5.没有长度限制

3.命名规范:

1.类名,接口名:

每个单词的首字母应该大写

2.字段、方法以及对象:

第一个单词首字母应小写,其他单词首字母大写

3.常量:

全部用大写字母表示

4.Java包(Package):

它们全都字母小写

5.命名要做到见名知意

21.关键字列表:

Abstract抽象booleanbreakbytecasecatchcharclass

continuedefault默认值dodoubleelseextends继承enum枚举falsefinalfinallyfloatforifimplements实现接口importinstanceof实例intinterface接口longnativenewnullpackageprivate私有的protectedpublicreturnshortstatic静态的superswitchsynchronized同步的thisthrowthrowstransienttruetryvoidvolatilewhile

保留字:

const,gotoJava中truefalse是boolean类型的字面量

所有的关键字都是小写,friendly,string,sizeof不是java的关键字

22.转义字符描述

\ddd1到3位8进制数所表示的字符(ddd)

\uxxxx1到4位16进制数所表示的字符(xxxx)

\’单引号字符

\’’双引号字符

\\反斜杠字符

\r回车

\n换行

\f走纸换页

\t横向跳格

\b退格

23.java数据类型:

1.基本数据类型(8种)

Byte1、short2、char2、int4、long8、float4、double8

boolean

*java默认浮点数为double

2.引用数据类型

数组、类、接口都属于引用数据类型

24.补码:

原码取反加1

整数在内存中的表示:

1.正整数:

原码

2.负整数:

补码

----------------------------------------------------------------------

对象就像一个充满氢气的气球,我们没有办法直接去得到它,要想对它的使用都必须通过一根连着它的绳子来访问,

这根绳子就是对象的引用。

一根绳子同时只能连着一个气球,就像一个引用同时只能指向一个对象;

可以用多根绳子同时连接一个气球,

也就是可以有多个引用同时指向同一个对象;

如果某个气球没有任何绳子连着它,那它就会飞走,同样,某个对象如果没有引用连接它,

它就会成为垃圾,等着被java的垃圾收集器回收;

如果某根绳子没有连接任何气球,那么它就是一个空引用,对它的访问没有意义。

同样,某个引用如果没有指向对象,那么对它的访问将会抛出NullPointerException

25.练习:

判断下列语句中的a和b的值是否相等:

(1)inta=0;

intb=‘0’;

\\a=0,b=48

(2)inta=0;

charb=‘\u0000’;

\\a=0,b=null

(3)inta=123;

charb='

\u007B'

\\a=123,b={

(4)inta=0x123;

charb=123;

\\a=291,b={

(5)inta=3+‘5’;

charb=’8’;

\\a=56,b=8

(6)inta=‘3’+’5’;

charb=‘8’;

\\a=104,b=8

(7)chara=‘\u0000’;

charb=‘0’;

\\a=null,b=0

26.逻辑运算符:

||!

1.支持短路运算

&

左边表达式为false,右边表达式不会被执行

||:

左边表达式为true,右边表达式不会被执行

位运算符:

、|、~、^、<

<

、>

>

、>

1.~:

取反。

1变0,0变1

2.&

按位与。

有0为0

3.^:

按位异或。

相同为0,不同为1

4.|:

按位或。

有1为1

将一个数的各二进制位全部右移若干位,移到右端的低位被舍弃,最高位则移入原来高位的值

例如:

a=00110111,则a>

2=00001101

b=11010011,则b>

2=11110100

一个数的各二进制位无符号右移若干位,与运算符>

相同,移出的低位被舍弃,但不同的是最高位都补0。

如:

a=00110111,则a>

b=11010011,则b>

2=00110100

用来将一个数的各二进位全部左移若干位。

高位左移后溢出舍弃,低位补0

例如:

a=00001111,则a<

2=00111100。

\\\使用最快的算法求2的3次方:

2<

2

27.类型转换:

1.隐式自动转换:

将占用空间小的赋值给占用空间大的

2.强制类型转换:

将占用空间大得赋值给占用空间小的

doubled=0.1;

floatf=(float)d;

28.switchcase:

说明:

1.表达式expression可以是以下四种基本数据类型和枚举类型(byte,short,int,char)

2.case子句中的值必须是常量,而且所有case子句中的值应是不同的。

3.case通常与break语句联用,以保证多路分支的正确实现,多个case可以公用一组执行语句。

29.break;

continue;

break语句,跳出它所在的循环语句或switch语句,并从紧跟该循环语句或switch语句后的第一条语句处执行

continue:

continue语句,用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环

30.练习:

1.九九乘法表classA{publicstaticvoidmain(String[]args){for(inti=1;

i<

=9;

i++){for(intj=1;

j<

j++){System.out.print(i+"

*"

+j+"

="

+i*j);

if(i==j){System.out.println();

}}}}}

publicclassDay2_2Homework{

publicstaticvoidmain(Stringargs[]){

for(inti=1;

i<

=9;

i++){

for(intj=1;

j<

j++){

System.out.print("

\t⊙_⊙"

+j+"

+i+"

+j*i);

if(i==j){

System.out.print("

\n"

);

break;

}

}

}

2.利用程序输出如下图形:

*

***

*****

*******

*

publicclassDay2_1Homework{

staticpublicvoidmain(StringARG[]){

System.out.println("

***"

*****"

*******"

Day3:

31.数组声明、初始化:

int[]arr2={1,2,3,4,5};

int[]a=newint[5];

int[]b={1,2,3,4};

int[]c=newint[]{1,2,3,4};

int[]d=newint[3]{1,2,3};

//不合法

------------------------------------------------

char[]缺省值为0所对应的字符

boolean[]缺省值为false

User[]自定义类型数组缺省值为null

求数组的长度:

ar.length属性

32.二维数组循环打印:

for(intm=0;

m<

h.length;

m++){

for(intn=0;

n<

h[m].length;

n++){

System.out.print(h[m][n]);

System.out.println();

33.数组拷贝:

System.arraycopy(Objectsrc,

intsrcPos,

Objectdest,

intdestPos,

intlength);

src-源数组。

srcPos-源数组中的起始位置。

dest-目标数组。

destPos-目标数据中的起始位置。

length-要复制的数组元素的数量

34.练习:

定义一个5*5的二维数组,用来存储某班级20位学员的5门课的成绩;

这5门课

按存储顺序依次为:

coreC++,coreJava,Servlet,JSP和EJB。

(1)循环给二维数组的每一个元素赋0~100之间的随机整数。

(2)按照列表的方式输出这些学员的每门课程的成绩。

(3)要求编写程序求所有学员的某门课程的平均分。

(4)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。

publicclassDay3Homework{

publicstaticvoidmain(String[]args){

int[]sum1=newint[5];

int[][]arr=newint[5][5];

int[]sum2=newint[5];

String[]name=newString[]{"

A01"

"

A02"

A03"

A04"

A05"

};

\tB01"

+"

\tB02"

\tB03"

\tB04"

\tB05"

for(inti=0;

arr.length;

System.out.print(name[i]);

for(intj=0;

arr[i].length;

arr[i][j]=(int)((Math.random()*0.4+0.6)*100);

\t"

+arr[i][j]);

sum2[i]+=arr[i][j];

System.out.println();

System.out.print("

平均分"

for(intj=0;

arr[0].length;

for(inti=0;

sum1[j]+=arr[i][j];

System.out.print("

+sum1[j]/5);

每个人的总分"

+sum2[i]);

35.方法调用过程:

1.为被调用方法分配临时存储空间

2.将实参复制一份传给形参

3.跳入被调用方法中执行

4.方法体执行完成或遇到return语句,返回主方法,同时被调用方法的临时存储空间被收回

36.编写类的方法:

先抽象再封装

抽象:

抽取出主要内容,忽略次要内容。

主要内容指一类事物所具有的共性

封装:

属性私有化,提供公共的get、set方法

封装的好处:

1.数据更安全,可以在方法内增加验证

2.可以让调用者不去关心实现的细节,重用

37.构造方法:

1.没有返回值

2.方法名与类名一致

3.在创建对象的时候被调用

4.如果本类不写任何构造方法,系统会默认提供一个无参的构造方法。

5.如果自定义了构造方法,那么系统提供的无参构造就会失效

38.方法的重载:

方法名相同,参数列表不同

参数列表:

1.参数类型2.参数个数

系统会根据调用时传递的参数自动找到匹配的同名方法进行调用

39.this关键字:

1.当前类或当前对象

2.this()调用当前类的无参构造,一定要在方法的第一句进行调用,调用的过程只能是单向调用

40.参数的传递:

1.基本数据类型按值传递

2.引用数据类型按引用传递

Day4

41.继承概念:

使用已经存在的类的定义作为基础来建立新类的技术,新类的定义可以增加新的属性和新的方法,但是不能选择性的继承父类

继承优点:

1.可以复用代码,缩短开发周期,节约成本

举例:

汽车类(颜色、牌子、方向盘、轮胎)

轿车类(后备箱)

卡车类(货箱)

汽车->

轿车->

卡车***特化***

轿车(颜色、牌子、方向盘、轮胎、后备箱)

卡车类(颜色、牌子、方向盘、轮胎、货箱)

轿车->

卡车->

汽车***泛化***

42.继承:

子类可以继承父类中被public、protected修饰的属性和方法

private的属性和方法不可以被继承

子类的构造方法第一句一定是调用父类中的构造方法

43.super关键字:

1.调用父类的方法或属性,前提是方法和属性在子类中是可见的

2.super()调用父类中的无参构造

3.在调用父类构造方法的时候必须放在第一句

44.方法的覆盖:

一定发生在继承关系中

1.方法名、参数列表、返回值全部一致

2.子类的访问修饰符大于或等于父类的访问修饰符

3.子类的返回值类型可以是父类返回值类型的子类型(JDK1.5以上版本)

45.多态:

是允许将父对象引用一个子对象的技术

Employeeemployee=manager;

允许父类对象来引用子类对象,但是实际运行过程中调用的是子类的方法或者属性

编译时调用父类方法,运行时调用的是实际

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1