黑马程序员_Java入门_Go
来源:互联网 发布:炒股软件免费 编辑:程序博客网 时间:2024/06/11 23:20
今天是我写博文的第一天,看了几天的书和视频了,该写点东西出来了。好的,就从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的基础知识,还有很多没写到,写得不好的,请勿怪。