JAVA学习笔记.docx

上传人:b****7 文档编号:11424359 上传时间:2023-03-01 格式:DOCX 页数:44 大小:31.01KB
下载 相关 举报
JAVA学习笔记.docx_第1页
第1页 / 共44页
JAVA学习笔记.docx_第2页
第2页 / 共44页
JAVA学习笔记.docx_第3页
第3页 / 共44页
JAVA学习笔记.docx_第4页
第4页 / 共44页
JAVA学习笔记.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

JAVA学习笔记.docx

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

JAVA学习笔记.docx

JAVA学习笔记

Day01o(∩_∩)o

1、环境变量

11、BigInteger不会超过的范围

2、myeclipse新建文件步骤:

new.javaproject——new.package——new.class

3、ocjp->ocjd->

4、publicstaticvoidmain(String[]args){//主入口固定格式只有args能变argument的缩写:

变量名

System.out.println("欢迎赵老师");//输出ln表示换行系统输出流system系统类统输出打印

5、运行:

右键runas——Javaapplication

6、java的标识符day01(包名),myfirst(类名),main三个部分组成

7、Java标识符的命名规定:

1.以字母、$、下划线开头,以第二字符开始可以有数字。

2区分大小写

3不能与Java的关键字冲突(打出后红色字体的一般是关键字)

8、Java标识符的命名规范:

(不遵守也没错,但是在平时应该严格规范,养成良好习惯o(∩_∩)o…)

《1包名所有的字母都必须小写。

如:

myfirst

《2类名、接口名每个单词的首字母大写如:

Myfirst

《3方法名、变量名第一个单词全部小写,从第二个单词开始每个单词的首字母大写。

如myFirst

《4常量名所有的字母都大写,单词与单词之间用下划线连接如:

MY-FIRST

《5建议使用具有实际意义的变量名。

EX1:

下面可以作为Java的标识符的有A.C.E.F

A.Wer

B.3hello(不能以数字开头)

C.学生(被认为中文包含在字母中,可以作为开头!

但是平时不允许写)

D.–wer#(不能用#)

E.Day01

F.My$first

9、Java中的变量:

1.变量的声明必须指定变量的类型。

如:

(Intb;)

2.在方法中声明的变量称为局部变量。

3.局部变量在使用前必须初始化。

4.初始化:

第一次的赋值操作被称为初始化;第二次就只是赋值了(intb;声明

b=4;初始化)

5.变量不能重复定义

10、Jave的数据类型

一.基本类型

类型位范围

整型:

(有符号,区分正负)

Byte8-128~127-2^7~2^7-1

Short16-32768~32767-2^15~2^15-1

Int32-2G~2G-1

Long64-2^63~2^63-1

注意:

1.整型中默认int类型

2.Long可以加后缀L(或l小写L)如:

longI=231L;

3.short除了考试,实际不会用

浮点型

Float单精度32最高位是符号位8位指数位23位是位数表精度

Double双精度64

注意:

1.float可以加后缀F或f;

2.double可以加后缀D或d;

3.浮点型的默认类型为:

double

4.浮点型的运算是不精确的,所以最好不要用浮点型来比较是否相等,可以用它来比较大小

字符类型:

无符号整数类型

Char160~65535

如Charc=’A’;

转义:

‘\n’‘\r’‘\t’‘\s’‘\\’->\

‘8’-‘0’=8;字符8减去字符0,等于int型的8;

布尔类型:

Boolean

True

Flase

注意:

1.true和flase不是Java的关键字,他们是Java的字面量,但是也不能用作Java的标识符。

2.固定不变的量;如int=3中的3

3.java的关键字绝对是小写;如Int就不是

(不同于C++中,Java只有这两个表示,没有1或者0代表对错的表示)

(会字体变红,是“Java的字面量”。

但是和null一起,也不可以做标识符)

二.引用类型

1,Stringstr=“123”;

2,任何类型和字符串相加都将变成字符串类型

Eg:

Strings=1+2+“3”+4+5//3345Strings=1+2+“3”+(4+5)//339

12、java中的类型转换

1.自动类型转换

《1.小范围到大范围可以自动类型转换;如inta=3;

longl=a;

byte–>short–>int–>long–>float–>double

char–>int–>long–>float–>double

double比long范围大,long精度更高

《2整型到浮点型可以自动转换如floatf2=2.3F;

《3在范围内的字面量可以自动类型转换。

如byteb=12;

2.强制类型转换

《1.byte=128超范围;byteb=(byte)128加括号,写转换的类型来解决;得到的结果是b=-128,正变为负了。

所以强制类型转换要慎用。

《2强制类型转换会造成数据的丢失,所以慎用。

使用:

floatf2=2.3F;

intx=(int)f2;得到结果x=2;省去了小数

13、Java的运算符

1.算术运算符+—*/%

字符串不能相减

《1./5/2=2;表整除2/100=02.0/100=0.022d/100=0.02

《2.%取余取模5%2=1;

2.3%1=0.3

m%n{0,n}

负数的余数还是负数

2.比较运算符><>=<===

3.逻辑运算

与&&(短路与)&

或||(短路或)|

4.自增自减运算符

1.inta=3;intb=a++;//a->4b->3

<1.先将a的值赋给a++这个表达式//a++=3

<2再将a的值自增1//a=4

<3将a++的值赋值给b//b=3

2.inta=3;intb=++a;//a->4,b->4

<1先将a自增1

<2再将a的值赋值给++a这个表达式

<3再将++a的值赋值给b。

EX3:

inta=1;a=a++;//a->1

EX4:

inta=3;intx=a+++++a;//a->5x->8

5.三元运算符

1.语法:

布尔表达式?

为true时的值:

为flase时的值;

Inta=4>3?

5:

6;//a->5

IntpageNum=totalNum%10==0?

totalNum/10:

totalNum/10+1;//分页

6.Scanner

<1importjava.util.scanner;打包

<2Scannersc=newScanner(System.in);创建Scanner对象

<3Stringstr=sc.next();从控制台获取字符串System.out.println(str)

<4inta=sc.nextTnt();//从控制台读取int类型的整数

boola=sc.nextBool();//只有char没有这种格式<

EX5:

从控制台输入你的姓名,年龄。

学校,输出:

xxx你好,欢迎你在xx岁这风华正茂的年纪,在xxxxxx校园里,听着赵老师的课。

Scannersc=newScanner(system..in);

System.out.println(“请输入您的姓名”);

Stringname=sc.next();

System.out.println(“请输入您的年龄”);

System.out.println(“请输入您的学校”);

intage=sc.nextInt();

Stringschool=sc.next();

System.out.println(name+“你好,欢迎你在”+age+“岁这风华正茂的年纪,在”school“校园里,听着赵老师的课。

”);

完整代码:

packageday01;

importjava.util.Scanner;

publicclassDemo{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

System.out.println("请输入您的姓名");

Stringname=sc.next();

System.out.println("请输入您的年龄");

intage=sc.nextInt();

System.out.println("请输入您的学校");

Stringschool=sc.next();

System.out.println(name+"你好,欢迎你在"+age+"岁这风华正茂的年纪,在"+school+"校园里,听着赵老师的课。

");

}

}

7.if…else

EX6.从控制台输入5个整数,然后输出最小值

完整代码:

packageday01;

importjava.util.Scanner;

publicclassEX6{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

System.out.println("请输入五个整数");

inta=sc.nextInt();

intb=sc.nextInt();

intc=sc.nextInt();

intd=sc.nextInt();

inte=sc.nextInt();

intmin=a;

if(b

if(c

if(d

if(e

System.out.println("最小值为:

"+min);

}

}

HW1利用强制转换,实现四舍五入

思想:

输入一个浮点型数字a,强制转换为整型数b,舍弃了小数点后的数,如2.3就变成了2。

然后用a-b,如果>0.5,可知a小数点后的数在五入范围,则输出b+1。

否则,在四舍范围,输出b。

自己做的结果:

packagezuoye;

importjava.util.Scanner;

publicclasssishewuru{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

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

floata=sc.nextFloat();

intb=(int)a;

if(a-0.5>=b)

{

b++;

System.out.println(a+"四舍五入后"+"得到"+b);

}

else

System.out.println(a+"四舍五入后"+"得到"+b);

}

}

老师讲解:

doubled=2.3;inta=(int)(d+0.5)

HW2计算一下出租车的车费,车费由两部分组成,

公里数和等候时间。

0-3公里,收10元;4-15公里,

每公里2元;15公里以上的部分,每公里3元。

等候时间,

每2分半收1元,不足2分半的不收费。

不足1公里的按1公里计算。

车费是公里数钱+等候时间的钱。

比如:

18公里299秒,应收车费:

44

要求:

输入公里数和秒数,输出车费。

自己分析:

S公里数收费a公里数m等候时间n等候时间收费

0~3s=10;

4~15s=10+(a-3)*2

>15s=10+12*2+(a-15)*3

<150sn=0

>150n=m/150

所以:

n=m/150

a如果不是整数要按照intb=(int)a;if(a-b=0)输出b,否则b++

具体实现:

packageshoufei;

importjava.util.Scanner;

publicclassshoufeiwenti{

publicstaticvoidmain(System[]args){

Scannersc=newScanner(System.in);

System.out.println("请输入乘车公里数");

System.out.println("请输入等候时间");

floata=sc.nextFloat();

intm=sc.nextInt();

intb=(int)a;

ints=0;

intc=0;

if(a-b==0)c=b;

elsec=++b;

if(0

if(a>4&&a<15)s=10+(c-3)*2+m/150;

if(a>15)s=10+(15-3)*2+(c-15)*3+m/150;

System.out.println("应该收费"+s);

}

}

老师讲解:

X%1=0?

intx:

intx+1

doublekilo=sc.nextDouble();

intk=kilo%1==0?

(int)kilo:

(int)kilo+1;

 

Day02

1.for(初始化表达式;布尔表达式;){}//循环最多三重

2.Ex1:

1~100质数(只能被自己和1整除的数,1既不是质数也不是)

完整代码:

packagesw;

publicclasszhishudayin{

publicstaticvoidmain(String[]args){

for(inta=2;a<100;a++){

booleanflag=true;

for(intb=2;b

//不超过它的开方,其实直接写b《a也会//得到一样的结果

if(a%b==0){//a除以(2~a的开方),如果除尽,说明有除自己与1外的//其他因子,不是质数

flag=false;

break;

}

}

if(flag)

System.out.println(a);

}

}

}

3.Ex2:

36个人搬36块砖,男人4块每人,女人3块每人,小孩2人搬1块,所有的人一次搬完。

问几个男几个女几个小孩?

分析:

男人最多9个

女人最多12个

小孩最多78个

publicclassbanzhuan{

publicstaticvoidmain(String[]args){

for(inti=1;1<=9;i++){

for(intj=0;j<=12;j++){

intx=36-i-j;

if(4*i+3*j+x/2==36&&x%2==0){

System.out.println("男人"+i+"女人"+j+"小孩"+x);

}

}

}

}

}

1、Random

1.importjava.util.Random;

2.Randomran=newRandom();

3.intx=ran.nextInt(10);//产生0~10之间的随机数

完整代码:

importjava.util.Random;

publicclassRandomDemo{

publicstaticvoidmain(String[]args){

Randomran=newRandom();

intx=ran.nextInt(10);

System.out.println(x);

}

}

Ex3输入随机数,猜数字游戏

完整代码:

packagesw;

importjava.util.Random;

importjava.util.Scanner;

publicclasscaishuziyouxi{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

Randomran=newRandom();

intx=ran.nextInt(1000);//随机数0~999

intcount=0;

do{

System.out.println("请输入一个0~999的整数,您还有"+(10-count)+"次机会哦");

intm=sc.nextInt();//猜的数字

if(m

elseif(m>x)System.out.println("太大了,再小一点");

else{

System.out.println("恭喜你,猜对了!

");

break;

}

count++;

}while(count<=10);

if(count>+10)

System.out.println("你太笨了,下次再来吧!

");

System.out.println("数字是"+x);

}

}

 

星空:

代码一

packageygr;

importjava.awt.Color;

importjavax.swing.JFrame;

publicclassDay02{

publicstaticvoidmain(String[]args){

JFrameframe=newJFrame();

frame.setBackground(Color.BLACK);

frame.setTitle("星星");

frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);

frame.setSize(1024,768);

frame.setLocation(0,0);

MyPanelStarpanel=newMyPanelStar();

frame.add(panel);

frame.setVisible(true);

}

}

代码二(在同一个类中)

packageygr;

importjava.awt.Color;

importjava.awt.Graphics;

importjava.util.Random;

importjavax.swing.JPanel;

publicclassMyPanelStarextendsJPanel{//extends继承

publicvoidpaint(Graphicsg){//画笔

this.setBackground(Color.BLACK);

Randomran=newRandom();

g.setColor(Color.WHITE);

for(inti=0;i<300;i++){

intx=ran.nextInt(1024);

inty=ran.nextInt(768);

g.drawString("*",x,y);

}

g.setColor(Color.YELLOW);

g.fillArc(800,100,80,80,0,360);

g.setColor(Color.BLACK);//可以自己设置不同的颜色

g.fillArc(820,80,80,80,0,360);

}

}

2.java中的方法

一.语法:

【修饰符】返回类型方法名(参数列表){

方法体

}

publicstaticvoidmain(String[]args){

}

Publicintf(){

return6;

}//返回与类型相兼容的类型

如:

publicstaticintf(intx){

byteb=3;

returnb;

}

3、数组

1.数组的声明:

int[]arr;//建议使用

intarr[];//对,C++中的声明方法,一般不用于java中

2,数组的初始化

<1静态初始化

inta[]={1,2,3};//下标012

<2动态

1.int[]arr=newint[]{4,5};//{}中有数组值时,[]中不可以有值

2.int[]arr=newint[4];//长度为四,值为4个0

整型0

浮点型0.0

Booleanflase

char‘\u0000’//16位\u空白符在liux下是截止符

引用类型null

3.静态初始化和动态初始化的区别:

《1.inta;a=4//对

《2.int[]arr;arr={1,2,3}//错误,静态初始化必须在声明的同时初始化

《3.int[]arr={1,2,3}//修改正确

《4.int[]arr;arr=newint[]{4,5};//对动态

4.长度:

arr.length;//后面没有括号

5.数组元素的初始化操作:

<1int[]arr=newint[4];

arr[1]=3;//0300

for(inti=0;i

arr[i]=i+1;

}//1234

6.打印数组:

int[]arr={4,5,6}//错误

java.util.Arrays;

System.out.println(Arrays.toString(arr));//打印数组的较快捷的方法

完整代码:

packagesw;

importjava.util.Arrays;

publicclassshuzu1{

publicstaticvoidmain(String[]args){

intarr[]=newint[]{2,3,4};

System.out.println(Arrays.toString(arr));

}

}

EX4:

双色球:

红球33选6(不能重复,用数组保存)

篮球16选1

完整代码:

packagesw;

importjava.util.Arrays;

importjava.util.Random;

publicclassshuangseqiu{

publicstaticvoidmain(String[]args){

Randomran=newRandom();

intblue=ran.nextInt(16)+1;//0~15变成1~16,产生一个随机数

int[]red=newint[6];/

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

当前位置:首页 > 初中教育 > 科学

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

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