java学习笔记之语法入门详解_第1页
java学习笔记之语法入门详解_第2页
java学习笔记之语法入门详解_第3页
java学习笔记之语法入门详解_第4页
java学习笔记之语法入门详解_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java基础语法PATH:告诉操作系统所使用的工具程序在哪个目录下ClassPath:执行这个java平台上已经编译完成的java程序demo是范例程序bin是提供java的工具程序lib实际使用的java工具类标准输入串对象System.in提供read()方法,取得一个字节的数据,不太适应可以使用java.util.Scanner类取得使用者的输入EG:importjava.util.Scanner;publicclassScannerDemo{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入你的名字:");System.out.printf("hello你好%s加油啊",sc.next()); }}new关键词表示要新增一个Scanner对象,需要一个System.in对象然后交给Scanner做一些处理,next功能是取得用户输入的字符串要想取得数字可以用nextInt()功能,就是:System.out.printf("您输入了%d\n",sc.nextInt());如果要想取得包括空格符的输入,使用java.io.BufferedReader类取得输入importjava.io.*;都位于java.io包下面所以可以用星号代替EG:importjava.io.*;publicclassbfrdmo{ publicstaticvoidmain(String[]args)throwsIOException //使用BufferedReader对象的readLine()方法必须处理java.io.IOException(Execption) { BufferedReaderbfrd=newBufferedReader( newInputStreamReader(System.in));标准语句 //这句语句表示定义一个类型为BufferedReader的参考对象,而newBufferedReader()表示以BufferedReader类构建一个对象,newInputStreamReader(System.in)表示接受一个System.in对象来构建一个InputStreamReader对象 System.out.print("请输入一列文字,可以包括空白:"); Stringtext=bfrd.readLine(); System.out.println("您输入的文字:"+text); }}可以将输出重新定位至一个一个文件:javahello>hellojava.txt就可以在hellojava.txt里面查看输出结果。除了标准输入流out之外,java程序在执行之后还会开启标准输入串in与标准错误输出串err,err会立即显示指定的错误信息让使用者知道,即使定位至文件err输出串的信息也不会被重新定位,而是显示在指定的设备上publicclassErroDemo{ publicstaticvoidmain(String[]args) { System.out.println("使用out输出信息"); System.err.println("使用err输出信息"); }}结果:输出格式控制常用的输出控制符:\\反斜线\"双引号\uxxxx16进制指定Unicode输出\dxxx8进制\b倒退一个字符\f换页\n换行\r光标移至行首\t跳格(一个TAB键)importjava.lang.Integer;publicclassTigerNumberDemo{ publicstaticvoidmain(String[]args) { System.out.printf("%d%n",19); System.out.printf("%o%n",19); System.out.printf("%x%n",19);}}结果:★★:%d表示数值以十进制表示,%o是八进制表示,%x是十六进制表示%n输出平台的换行字符%s字符串格式化输出%c字符形式System.out.printf("example:%8.2f%n",19.2345);输出结果:19.23%8.2f%n表示预留8个字符宽度,不足在前面补上空格,同时保留两位小数点f(浮点型)%n换行数据的运算System.out.printf("short\t数值范围:%d~%d\n", Short.MAX_VALUE,Short.MIN_VALUE);System.out.printf("int\t数值范围:%d~%d\n", Integer.MAX_VALUE,Integer.MIN_VALUE);System.out.printf("Byte\t数值范围:%d~%d\n", Byte.MAX_VALUE,Byte.MIN_VAL结果:变量和常量标识符:变量必须要有一个标识符,标识符赋予变量.类和方法的名称不能包含空格不能是关键字严格区分大小没有最大长度,可以由下划线java常量java变量:[修饰符]类型变量名[=初值],变量名[=初值],。。。eg:intx=0,y=1,z=1;变量其实是内存中一小块区域,使用变量名来访问这块区域,因此每一个变量使用前必须先申明,后进行赋值。用下划线作为变量的开始,表示他是私有的,只有程序的某个范围使用,外界并不知道。eg:double_window_center_x;如果变量前面有final关键词来限定,一旦指定了值之后,就不能改变它的值。intageOfStudent=5年级;doublescoreOfStudent=80.0;charlevelOfStudent='B';System.out.println("年级得分等级");System.out.printf("%d%.1f%c", ageOfStudent,scoreOfStudent,levelOfStudent);结果: 程序的执行过程heap:堆new出来的东西stack:栈存放局部变量load:装载引导datasegment:静态变量,字符串常量codesegment:代码区,存放代码1。程序load到内存区2.找到main方法开始执行3.执行过程中的内存管理,先从codesegment开始。java变量的分类按照声明的位置划分:局部变量:main方法或语句块内部定义的变量成员变量:方法外部,类的内部定义的变量类外面不能有变量的声明按照数据类型划分基本数据类型变量逻辑类型:逻辑值有两种状态,即boolean类型,true和falsebooleantruth=true(声明一个boolean类型的变量truth,并初始化其值为true)字符类型:使用char类型表示单个字符char类型的字面量必须包含在两个单引号内如:‘a’eg:charch=‘a’;charch1,ch2;下面的是错误的eg:charch='ab';因为单引号只能包含一个字符charch=“a”;双引号表示界定的是一个字符串常量整数类型:byteshortintlong他们的区别在于表示的数值范围不同eg:bytesmallone=7;shortcount=1000;intscore=100;longbigone=99999999L,largeone;由于小写l容易与数字1混淆,所以一般长整形里面都是用L做后缀浮点类型:float和doubleeg:doublex=3.14;floatx=2.718F;基础数据类型转换boolean类型不可以转换为其他数据类型整形,字符型,浮点型的数据在混合运算中相互转换,遵循以下原则:容量小的类型自动转换为容量大的数据类型:大小排序:btye,short,char<int<long<float<doublebtye,short,char之间不会相互转化,他们三者在计算时首先转换为int类型容量大的类型转换为容量小的数据类型,要加上强制转化符,但可能造成精度降低或者溢出0.1是double类型,比较和条件运算(>和<)true和false一个=是赋值,两个==是运算符★★条件式?成立返回值:不成立返回值eg:60>0?是:否结果:是importjava.util.Scanner;publicclasscdti{ publicstaticvoidmain(String[]args) { Scannersc=newScanner(System.in); System.out.print("请输入学生的分数:"); intscoreOfStudent=sc.nextInt(); System.out.println("该生是否及格?"+(scoreOfStudent>=60?'是':'否')); }}结果:逻辑和位运算逻辑运算符:与(&&)或(||)取反(!)位运算符:&(AND)|(OR)^(XOR)~(补码)在位运算中还有左移(<<)和右移(>>)两个运算符intnumber=1;System.out.println("2的0次方:"+number);number=number<<1;System.out.println("2的1次方:"+number);number=number<<1;System.out.println("2的2次方:"+number);number=number<<1;System.out.println("2的3次方:"+number);number=number>>1;System.out.println("2的2次方:"+number);结果:递增和递减i++先取值运算再自加1先取出i值运算完之后在自加1++i先自加1再运算--i先自减1然后再运算,i--先取值运算然后再减1inti1=10,i2=20;inti=(i2++);System.out.print("i="+i);System.out.println("i2="+i2);结果:inti=0;System.out.println(++i);System.out.println(--i);结果:++i相当于i=i+1;--i相当于i=i-1赋值运算符a+=ba=a+b;a/=ba=a/b;a|=ba=a|b;a<<=ba=a<<b;a^=ba=a^b;3.4流程控制:为了告诉计算机在特定的条件下执行的动作。if条件式if(条件式)语句一;else语句二;意思就是当条件式为true时执行语句一,否则执行语句二复合语句(使用{}定义程序块将复合语句包括起来)if(条件式){语句一;语句二;}else{语句一;语句二;}EG:Scannersc=newScanner(System.in);System.out.print("请输入数字:");intinput=sc.nextInt();intremain=input%2;if(remain==1)System.out.println(input+"是奇数");elseSystem.out.println(input+"是偶数");结果:if(条件式一){语句一;if(条件式二)语句二; 语句三;}if(条件式一)语句一;elseif(条件式二)语句二;elseif(条件式三)语句三;else语句四;语句四会在一二三都不成立的情况下执行。Scannersc=newScanner(System.in);System.out.print("请输入成绩:");intscore=sc.nextInt();if(score>=90)System.out.printf("%d是等级A",score);elseif(score>=80&&score<90)System.out.printf("%d是等级B",score);elseif(score>=70&&score<80)System.out.printf("%d是等级C",score);elseif(score>=60&&score<70)System.out.printf("%d是等级D",score);ElseSystem.out.printf("%d是等级E",score);结果:if是与最近的一个else配对switch条件式switch只能比较数值或者字符switch(变量名称或表达式){case符合数字或字符:语句一;break;case符合数字或字符:语句二;break;default:语句三;}default不一定需要,可以省略。case后面是冒号“:”而不是“;”要注意如果比较的是字符,则记得加上单引号(‘’)for循环for(初始式;判断式;递增式){语句一;语句二;}如果语句只有一个那么{}可以省略初始式只会执行一次,之后重新进行循环式,都会根据判断式来判断判断是否执行下一个循环,递增式每次都会执行java中可以直接在for中定义变量与指定初始值。publicstaticvoidmain(String[]args){for(intj=1;j<10;j++){for(inti=2;i<10;i++){System.out.printf("%d*%d=%d\t",i,j,i*j);}System.out.println();//这是换行}结果:while循环:根据指定的条件式来判断是否执行循环体。while(条件式){语句一;语句二;}如果只有一句语句{}可以省略不写,主要是用于重复性的动作,Scannersc=newScanner(System.in);intscore=0,sum=0,count=-1;while(score!=1){count++;sum+=score;System.out.print("请输入成绩(以1结束):");score=sc.nextInt();}System.out.println("平均:"+(double)sum/count)结果:while可以用作无穷循环。while(true){循环内容;……}无穷循环由自己循环中的某个条件式来结束,while(true){语句;if(条件式)break;//跳离循环……}while循环有时称之为当型循环,因为循环时先会进行条

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论