今天是我写博文的第一天,看了几天的书和视频了,该写点东西出来了。好的,就从Java的基础开始吧。 首先,谈谈Java本身。Java,一门简单、面向对象、分布式、解释、健壮、安全、与平台无关的并且性能优异的多线程动态语言。入门的时候看到这些解释的时候我突然就费解了,太多了,这解释不等于没说吗。但别急,黑马的视频里,老师会一一为我们解开。 而我做的第一件事是了解编程语言的历史。简单的一句话:计算机语言经历了机器语言、汇编语言、高级程序设计语言及面向对象程序设计语言4个发展阶段: 1、机器语言,就一串二进制,只有计算机能识别。 2、汇编语言,它可以将计算机指令映射为一些内容,可以被人们看懂和读取了,但是离人们的思维还是很远。 3、高级程序设计语言,提高了语言的识别能力,程序中可以采用具有一定含义的数据命名和容易理解的执行语句。(发展到20世纪60年代的时候出现了结构化语言,比如C语言等。规定了3中基本结构,即顺序结构、选择结构和循环结构,每个结构都必须单入口和单出口,保证了可读性和可维护性。) 4、面向对象的程序设计语言,可以直接描述客观事物以及它们之间的联系,将客观事物看做具有属性和方法(行为)的对象。比如c++,java。 而java便是第4个阶段的杰出代表。要学习java,就得边动,边学。所以我就开始和老师学习java的配置了,下载完JDK后,就是path,classpath等环境变量的配置了。简单说,环境变量的配置,Path首先查找的是当前目录,classpath首先查找的是配置的变量。(*注:classpath的配置,最好不要+分号,因为+了分号,找完你配置的classpath路径后,还要找你当前目录,所以如果当你配置的classpath的路径中没找到文件后,得到的文件就是你当前目录的了,则容易造成输出的不是你要找的东西。) 配置完后,在dos环境下,输入java,javac,出一串东西,就说明你的path路径配置成功了。然后自己在跟毕老师(黑马的老师)视频里一起输入“hello,java”的程序后,自己更改classpath路径,在各种盘符里面试,如果出现“找不到或无法加载主类”这种错误时,说明你的classpath路径配置错误了要不就是你的类名和你文件名不一样,导致运行文件错误。然后自己思考或者回看毕老师的视频,调试几下就OK了,这样classpath也就真正理解了。(至少我是这么干的,当时我记得我找这个错误百度了好几次,才知道是classpath的问题,调试了许久,才从理论到真正的理解了classpath的定义)。 说完配置,就到java的一些基础了,本人学的不好,就随便写一些吧。 1、java 标识符 包名:所有字母小写 比如:aabb 类名接口名:首字母大写 比如:AaBb 变量名函数名:首字母小写后面小写 比如:Aaba 常量:所有字母大写。 比如:MAX 2、java的一些基本转换 十六进制与二进制的转换: 如0101 1010转为16进制 把每四位看成一体,转为16进制 5 A 所以结果就是5A,而为了区分十六进制,前经常加0x,所以结果就是 0x5A 二进制与八进制间的转换与十六进制与二进制的转换原理类似,十六进制是后四位,2的3次幂,八进制则就是后三位,2的3次幂。 3、java 的部分转义字符 \n:换行 \b:退格 \r:按下回车键。window系统,回车符是由两个字符来表示\r\n \t:制表符,相当于tab键 4、java的部分运算符 ^ 异或,两边相同结果是假,两边不同结果是真 &&只要左边是假的,右边就不进行运算了,直接判断为假 &无论左边的真假,右边依然进行运算 ||与|雷同 位运算,是二进制运算3<<2 左移其实就是该数乘以2的所移数位的次方 右移就是该数除以2的所移位数的次方 右移后最高位要补的数要看原来的数的最高位,最高位是1,就补1,如果用>>>右移,最高位都用0补。 ***********************这里就放一个毕老师的例子吧:挺有意思的: /** 就是要把n,m进行交换,假设n=6,m=8(3种方法) 1、有第三方函数 t=n;n=m;m=t; // 特点:开发容易,阅读性强 2、没有第三方函数了,相加减法 n=n+m; // 6+8=14 m=n-m;// 14-8=6 n=n-m;// 14-6=8 (其实就是一个数学的逻辑方法) 3、没有第三方函数,异或法 n=n^m ; m=n^m; // m=(n^m)^m=n 一个数异或同一个数等于这个数 n=n^m // 同上,最后是 n=m, 所以n,m就这样神奇的交换了 **// 5.java的语句 1、条件语句 If,switch语句 关于if的例子,自己根据毕老师要求,调试成功的 //需求1:根据用于定义的数值不同,打印对应的星期英文。 public class FTD1{ public static void main(String args[]){ int day=5; if(day==1)System.out.print("monday"); else if(day==2)System.out.print("Tuesday"); else if(day==3)System.out.print("Wednesday"); else if(day==4)System.out.print("Thursday"); else if(day==5)System.out.print("Friday"); else if(day==6)System.out.print("Saturday"); else if(day==7)System.out.print("sunday"); else if(day>7||day<1) System.out.print("该星期不存在"); } 一句话,If语句很简单,就是表达式OK了,那么久执行下面的语句,不OK就跳。 而switch也差不多,只是和if还是有区别的,他的特点如下如下: 1、switch语句悬着的类型只有四种:byte,short,int,char. 2、case之间与default没有顺序,先执行第一个case,没有匹配的case执行default 3、结束switch语句的两种情况,遇到break,执行到switch语句结束。 4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可执行的语句,直到遇到break或者switch结尾结束。 而什么时候用if,什么时候用switch呢? 如果判断的具体数值不多 ,而是符合byte,short int char这四种类型,虽然两个语句都可以使用,建议使用swtich语句,因为效率稍高。 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。 2、循环语句(for、while、do while) 这3种方式都是循环语句,挺像的,所以各自特点就不写了。就写一些不一样的地方和容易出错的地方吧。 **********1、for 和 while的区别 1.变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效,for语句执行完毕,该变量在内存中被释放。而对于while来讲,定义的变量在while语句之外,执行完语句后,变量依然占有内存。 2.for和while可以进行互换,如果需要定义循环增量,用for更为合适 3.当一个变量在循环后还需要使用,则使用while更合适; **********2、还有for和while的一些表现形式,刚开始我以为是错误的,后面看了毕老师的视频,才知道,原来这是对的~~~ for的几种表现形式 1、和while 很像的一种形式 for(int y=0;y<3;y++){ } 是可以 等于 int y=0; for( ;y<3; ){ y++; } 只是这个形式和 while一样,所以没有人写,但是这种形式并不是错的,至少以后看见了,别认为是是错的就好。 2.for和while的最简单 表现形式: for(;;){} while(true){} ******************************3、还有一点容易忽视的地方,关于while和do while while(x){} //这后面是不用加“;”的。 但是 do{} While(x); // 这里要要加上”;” ************************什么时候使用循环结构呢? 1.当要对某些语句被执行很多次 2.当某个变量有规律,并需要被执行很多次时 就要使用循环结构; 心得:O了,今天就写到这里吧,这些只是java的一些基础,主要是把自己的一些知识和理解给整理出来,而写了之后对自己加深基础知识有很大的帮助。对于java的基础知识,还有很多没写到,写得不好的,请勿怪。