java笔记.docx

上传人:b****6 文档编号:8857413 上传时间:2023-02-02 格式:DOCX 页数:84 大小:2.58MB
下载 相关 举报
java笔记.docx_第1页
第1页 / 共84页
java笔记.docx_第2页
第2页 / 共84页
java笔记.docx_第3页
第3页 / 共84页
java笔记.docx_第4页
第4页 / 共84页
java笔记.docx_第5页
第5页 / 共84页
点击查看更多>>
下载资源
资源描述

java笔记.docx

《java笔记.docx》由会员分享,可在线阅读,更多相关《java笔记.docx(84页珍藏版)》请在冰豆网上搜索。

java笔记.docx

java笔记

班规

1、手机静音、上课不许玩手机

2、讲课时间不许敲代码

3、迟到、早退、随意走动

4、在教室不许吃东西,特别是肉包子,韭菜

5、作业抽查

惩罚

1、发10块红包

2、唱歌

3、罚站一节课

接收文件

应用程序---------互联网------gftp,点击gftp

 

1、java基础知识

1.1计算机编程语言的发展史

第一代计算机语言:

机器语言(01110111011110111000)----少数人手里

低级语言--------电脑识别

第二代计算机语言:

汇编语言—在机器语言的基础上加入了字母和单词

第三代计算机语言:

面向过程:

C语言……

面向对象:

C++,C#,java……..---------

if….else…(如果。

那么。

)------高级语言------人能识别的语言

第四代计算机语言:

sql语言

高级语言如何让计算机识别?

高级语言------------》低级语言

通过编译转换

1.2java简介

java是sun公司开发的,是一门面向对象的,可以跨平台的,代码安全的开源计算机编程语言

java的鼻祖:

詹姆斯。

高斯林

1.3java能干什么

javase(j2se0):

java标准版,基于C(Client客户端)/S(Server服务器)架构

做一些类似于扫雷,QQ…..性质的桌面应用程序----Eclipse,MyEclipse

javaee(j2ee):

java企业版,基于B(Browser浏览器)/S(Server服务器)架构

做一些如淘宝、京东、腾讯……等互联网应用程序开发

javame(j2me):

java移动端

1.4配置环境

什么是环境?

在windows输入框中输入calc+enter,此时会弹出一个计算器,为什么?

找计算器的运行文件

C:

\Windows\System32

发现:

计算器的运行文件已经在环境中配置,所以可以通过以上操作启动计算器

java中的环境指的是

选中计算机右击-----属性----高级系统设置----环境变量----在系统变量中找到一个路径path

E:

\oracle\product\10.2.0\db_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:

\ProgramFiles(x86)\MySQL\MySQLServer5.5\bin;C:

\ProgramFiles(x86)\Java\jdk1.7.0_80\bin;C:

\ProgramFiles\VisualSVNServer\bin

java环境配置

1、安装jdk

2、安装完成之后找到jdk安装目录下的bin文件路径

C:

\ProgramFiles(x86)\Java\jdk1.7.0_80\bin

将路径拷贝到path下,注意路径与路径之间用“;”分割

环境变量配置成功的标志是:

在dos窗口输入javac+enter,出现如下界面表示成功

 

jdk:

java开发工具包---包含jre和类库

jre:

java运行环境

jvm:

java虚拟机

java.exe:

运行java代码

javac.exe:

编译java代码

1.5编写第一个java代码

第一步:

在任意盘符下新建一个txt文档,将文件名改为Hello.java

第二步:

在文档中编写如下代码

publicclassHello{

publicstaticvoidmain(String[]args){

System.out.println(“HelloWorld”);

}

}

第三步:

编译文件

打开dos窗口----进入e盘------利用javac.exe编译文件

windows系统:

e:

+enter----进入e盘

dir+enter----显示该盘所有文件

在dos窗口输入javacHello.java

此时在e盘下多出一个Hello.class的文件------编译后的文件

第四步:

运行文件

在dos窗口输入javaHello

学生端

应用程序-----附件------终端

在终端中输入ls,就可以显示所有文件

练习:

在终端打印一句话:

好看的皮囊千篇一律,有趣的灵魂百里挑一

面试题:

java为什么可以一次编写,处处运行

java拥有跨平台的特性,利用jvm(java虚拟机)将代码展示在不同的系统中

1.6使用java开发工具

EclipseMyEclipse…….

学生端MyEclipse

应用程序-----编程----myeclipse8.6

左边:

项目区packageexplorer:

所有的项目都在该区域创建

右上半部分:

代码区:

所有编写的代码都在该区域展示

右下半部分:

控制台console:

代码运行的结果都在该区域展示

新建第一个java项目

方式一:

在项目区右击鼠标------new-----javaproject

方式二:

在MyEclipse左上角选择file-------new------javaproject

在java中代码都是写在类中,类是组成java最小元素

新建一个类class

选中src右击-------new--------class

在MyEclipse左上角选择file-------new-----class

在代码区编写代码

访问修饰符:

publicprotectedprivate默认的(不写)

类名:

命名规范

1、由字母、数字、_、$组成,数字不能开头

2、首字母大写,遵循驼峰式命名(XxxxXxxxxXxx)

3、见名知意Test01Demo01

主函数:

用于执行(运行)代码的入口

运行

在代码区右击------runas-----javaapplication

方式二:

在菜单栏找到

图标,点击运行

项目的导入导出

导出:

方式一:

选中项目右击------export-----

方式二:

选中项目右击-----MYeclipse-----openinexplorer----返回上一层直接拷贝项目

项目导入:

在项目区右击------import----General----exitingprojectintoworkspace----选择需要导入的项目

workSpace:

工作空间------用于存储MyEclipse中创建的项目及代码

连接svn

学生端:

window-----showview----other----在输入框中输入svn

找到

图标点击,在输入框中输入http:

//10.0.1.98/svn/njwb-----next

用户名:

stu密码:

stu

此时在控制台出现如下界面

在项目区右击-----import-----输入svn,选择从svn中检出------选择已有资源----选择项目-----finish

项目更新

选中项目右击------team-----更新

重置界面

window-------resetperspective----ok

 

MyEclipse快捷键

ctrl+D:

删除一整行

alt+上下键:

移动任意一行

main+alt+/+enter:

生成主函数

syso+alt+/:

生成输出语句

alt+/:

联想法

2、java初识

2.1项目需求

网博超市管理系统

2.2输出语句

System.out.println()

1、输出语句中,双引号中的内容都是原样输出

2、Myeclipse中所有的符号都是英文状态下的

3、print:

表示不换行

println:

表示换行

2.3转义字符

\n:

表示换行

\t:

表示一个tab键

\s:

表示一个空格

\\:

表示一个\

\”:

表示一个双引号

2.4注释

注释分类

单行注释:

//注释内容

单行注释可以独占一行,也可以跟在代码后

多行注释:

/*注释内容*/

文本(文档)注释:

/**注释内容*/

用于生成文档的

注释的使用范围

对于单行和多行注释,一般用于修饰代码,多数情况下用于函数(方法)内部

对于文本注释,一般用于修饰类或者函数(方法)

文本注释生成文档

选中项目右击-----explorer-----在输入框中输入javadoc

解决谷歌打开乱码问题

在右上角有三条横线的图标点击------开发者工具----编码----Unicode(uft-8)

注释不仅可以解释代码的含义,还可以注释代码,使代码不运行

快捷注释

多行注释:

同时按住ctrl+shift,然后按下/:

表示注释代码

按下\:

表示取消注释

2.5包

包的作用:

1、用于分类

2、用于区别同名文件

如何建包?

com.公司名.项目名.模块名

com.njwangbo.day01

com.njwangbo.shoppingmall.regist

方式一:

选中src--------new-------package---输入包名

方式二:

在新建类的同时,指定包名

 

对于系统的第二个界面,要求值是活的,现阶段写的都是死值,不符合要求

如何解决?

------变量

2.6变量

什么是变量?

计算机存储数据的方式?

内存:

内存存储数据是瞬时存储

硬盘:

硬盘存数据是永久存储

内存如何存储数据?

宾馆---------------------------存人

开一个房间--------------------开辟一块空间

单人间、大床房

、标间、总统套房------------房间的类型

303、巴黎间(别名)--------------------房间地址

入住---------------------------------存人

内存---------------------------存数据

开辟一块空间----------------变量

定义数据类型----------------变量类型

给数据取别名----------------变量名

赋值----------------------------变量值

变量的定义:

内存中一块存储空间的表示

变量的三要素:

变量名、变量类型、变量值

2.7数据类型

两大类:

八大基本数据类型和引用数据类型

8大基本数据类型

整型:

-----默认值0

byte:

1个字节

short:

2个字节

int:

4个字节

long:

8个字节

浮点型:

-----默认值0.0

float:

4个字节

double:

8个字节

字符型:

-----\u0000

字符型只能存储单个字符,并且用单引号包裹

char2个字节

布尔类型:

----false

boolean:

1位---1个字节

引用数据类型

String数组枚举接口类…….

2.8变量声明与赋值

需求:

定义一个姓名张三,并在控制台打印

方式一:

先声明变量,在给变量赋值

方式二:

声明的同时给变量赋值

变量命名规范

1、由字母、数字、_、$组成,数字不能开头

2、变量命名遵循驼峰式命名(xxxxXxxxxXxxXxx)

一个单词,全部小写,多个单词,从第二个单词开始首字母大写

3、见名知意

4、不能是关键字

注意:

可以声明一个变量,如果需要使用该变量,一定要初始化该变量,否则会报错

需求:

声明一个float类型的变量,并赋值10.0;

发现报错,为什么?

原因:

在java中浮点型默认是double类型

解决办法

方式一:

在10.0后加一个f

方式二:

数据类型转换

自动转换:

小的数据类型可以直接转换成大的数据类型

byte类型的数加上short类型的数最终需要用int类型接收,因为整型默认类型位int

强制转换:

大的数据类型需要强制转换成小的数据类型

语法:

小的数据类型变量名=(小的数据类型)大的数据类型

app界面2

2.9键盘输入

需求;在控制台键盘输入一个姓名,然后在控制台打印

第一步:

创建Scanner对象

对象创建完成发现报错,原因是没有导入jar包

解决办法-----导入jar包

方式一:

将鼠标放置在Scanner单词上,会出现一个小框,

选择inportScanner(java.util)

方式二:

直接输入importjava.util.Scanner;

方式三:

联想法

第二步:

接收键盘输入的数据:

对象名点取法获得

input.nextInt():

用于接收整型数据

input.next():

用于接收String类型数据

input.nextDouble():

用于接收浮点类型数据

练习:

键盘输入两个数,打印出两个数的和

键盘输入三个数,求平均数

键盘输入两个男生身高和两个女生身高,计算男生平均身高比女生平均身高高多少

2.10运算符

算数运算符(+-*/%)

/:

取整

%:

取余

需求:

键盘输入一个四位整数,输出各位之和(如输入1234输出10)

如果/或者%两边都是整型,那么结果为整型

如果两边有一边为浮点型,那么结果为精确值

+:

面试题:

2+2+“2”+2的结果为

a、2222b、422c、224d、242

对于+,如果+两边都是数值,那么+表示算数运算符

如果+两边有一边是字符串,那么+表示连接符

关系运算符

<><=>=!

=

关系运算符返回一个boolean类型的值

逻辑运算符

与、或、非

与两边表达式都为true,那么结果为true,有一边为false,那么结果为false

&&:

短路与

如果与前面一个表达式结果为false,那么后面的表达式不执行

&:

非短路与

无论与前面一个表达式结果是否为false,后面的表达式都会执行

或两边表达式都为false,那么结果为false,有一边为true,那么结果为true

||:

短路或

如果或前面一个表达式结果为true,那么后面的表达式不执行

|:

非短路或

无论或前面一个表达式结果是否为true,后面的表达式都会执行

非:

表示取反

^:

异或

相同为0

不同为1

需求:

定义两个变量a=10,b=7,要求用代码交换两个变量的值

/**

*定义两个变量a=10,b=7,要求用代码交换两个变量的值

*@authorAdministrator

*

*/

publicclassDemo03{

publicstaticvoidmain(String[]args){

/*inta=10;//00001010

intb=7;//00000111*/

//方式一

/*inttemp;

temp=a;

a=b;

b=temp;

System.out.println(a+"\t"+b);*/

//方式二:

利用运算符

/*a=a+b;//17

b=a-b;//10

a=a-b;

System.out.println(a+"\t"+b);*/

//方式三:

异或

inta=10;//00001010

intb=7;//00000111

intc=a^b;//00001101

b=b^c;//00001010-----10

a=b^c;//00000111-----7

System.out.println(a+"\t"+b);

}

}

三目运算符(三元运算符)

语法:

表达式?

值1:

值2(if….else…)

表达式一般返回boolean类型的值,如果值为true,取值1,否则取值2

需求:

键盘输入两个四位数,比较两个数百位的大小,并输出百位大的四位数

publicclassDemo05{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.println("请输入第一个数");

intfirstNumber=input.nextInt();

System.out.println("请输入第二个数");

intsecondNumber=input.nextInt();

System.out.println((firstNumber/100%10)>(secondNumber/100%10)?

firstNumber:

secondNumber);

}

}

练习:

商场活动,输入五位会员卡号,如果会员卡号的数字之和大于20且第三位数字为6,那么就是幸运用户,否则很遗憾

2.11选择结构

if选择

单个if

语法:

if(boolean类型的表达式){

表达式值为true时执行的代码

}

小明考试,如果及格,搞一局王者荣耀

if语句后的{}可以省略,如果省略,只有()后的第一行代码输入if

总结:

if语句后的{}一般不省略

if……else….语句

语法:

if(boolean类型的表达式){

表达式值为true时执行的代码

}else{

表达式值为false时执行的代码

}

小明考试,如果及格,搞一局王者荣耀,否则告诉他游戏毁人生

需求:

小明考试,如果语文和数学成绩中一门成绩为100且另一门大于95,就可以撸一把,否则提示小撸怡情,大撸伤身,强撸灰飞烟灭

需求:

模拟彩票系统,随机生成两个数,如果猜的数与产生的数相同,就中奖,否则没中奖

分析:

if…..else….

随机数?

随机数:

Math.Random()-----产生一个0到1之间的随机数

规律:

产生一个[min,max)之间的随机数

Math.Random()*(max-min)+min

模拟登录系统

输入用户名和密码,如果正确,登录成功,否则登录失败

此种写法发现,即使用户名填写正确也登录不成功

为什么?

面试题:

简述==与equals的区别

String属于引用数据类型,真实值存在堆内存中,在栈内存中只存放了一个地址,而基本数据类型真实值存在栈

所以基本数据类型可以使用==判断是否相等

而引用数据类型不可以使用==判断,需要用equals判断

多重if

if(boolean类型的表达式){

表达式值为true时执行的代码

}elseif(boolean类型的表达式){

表达式值为true时执行的代码

}….else{

表达式值为false时执行的代码

}

需求:

年薪低于10万,BMW(bus/bikemetrowalk)

年薪25万,买一辆迈瑞宝-----雪弗兰

年薪50万,买一辆福特野马、Z4

年薪100万,买法拉利

publicclassTestIf06{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.println("请输入年薪");

doublemoney=input.nextDouble();

if(money<10){

System.out.println("BMW(bus/bikemetrowalk)");

}elseif(money>=10&&money<25){

System.out.println("买一辆迈瑞宝-----雪弗兰");

}elseif(money>=25&&money<50){

System.out.println("买一辆福特野马、Z4");

}elseif(money>50&&money<100){

System.out.println("买奥迪A6");

}else{

System.out.println("买法拉利");

}

}

}

分析:

上面写的代码,输入的年薪可能出现负数,不符合常规

如何解决?

-------------嵌套if

if语句里面嵌套if

publicclassTestIf06{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.println("请输入年薪");

doublemoney=input.nextDouble();

if(money>0){

if(money<10){

System.out.println("BMW(bus/bikemetrowalk)");

}elseif(money>=10&&money<25){

System.out.println("买一辆迈瑞宝-----雪弗兰");

}elseif(money>=25&&money<50){

System.out.println("买一辆福特野马、Z4");

}elseif(money>50&&money<100){

System.out.println("买奥迪A6");

}else{

System.out.println("买法拉利");

}

}else{

System.out.println("吊,你要倒霉了");

}

}

}

需求:

输入月份,输出季节

春季:

3、4、5

夏季:

6、7、8

秋季:

9、10、11

冬季:

12、1、2

publicclassTestIf07{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.println("请输入月份");

intmonth=input.nextInt();

if(!

(month<1||month>12)){

if(month==3||month==4||month==5){

System.out.println("春季");

}elseif(month==6||month==7||month==8){

System.out.println("夏季");

}elseif(month==9||month==10||month==11){

System.out.println("秋季");

}else{

System.out.println("冬季");

}

}else{

System.out.

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

当前位置:首页 > 高等教育 > 农学

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

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