黑马程序员~~充实第“二”天
发布日期:2022-03-02 13:23:54 浏览次数:41 分类:技术文章

本文共 3649 字,大约阅读时间需要 12 分钟。

---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

    心碎了,碎得太彻底了,刚快打完的心得几秒钟就失手木有了。真的抓狂啊啊啊啊。好想哭。最近学习效率不好,第二天的内容花了两天才看完,除去上课时间,还是没控制好。第二天的内容是JAVA的语言基础组成,跟C挂钩很深,看完后让我对C的理解也加深了。

 

JAVA的语言基础组成为关键字、标示符、注释、运算符、语句、函数、组数。了解这些的使用特别后,学计算机其他语言也方便,如C和C++在这些基础上的不同之处在于表现形式不一样。

第一天已经了解了关键字和注释,接着是标识符。它包括类名等在程序中自定义的一些名称。由09,26个字母,-,$组成,数字不能开头,不能使用关键字,且严格区分大小写。其中有一些要注意的固定定义,包名要小写;类名和接口名每个单词首字母大写;变量名和函数名第一个小写第二个开始每个单词首字母大写;常量名大写。

 

重新打一遍,亚历山大,北京时间零点42分,希望这部分知识记得更劳咯。

 

先说声字符,它是由单引号定义的,只能定义一个,字符串则有双引号定义。然后是常量,分为整数、小数、布尔型常量(只有两个变量值:turefalse)、null常量。而整数的表现形式又分为二、八、十、十六进制。二进制是由电信开关演变而来,而八进制和十六进制则是由二进制为了操作方便演变而来。八进制中的一位代表3个二进制,十六进制一位代表4个二进制。进制越长,表现形式越短。

刚开始接触进制时有点懵,看完后觉得满微妙的,不难理解。

计算机内存和硬盘中的都是二进制数据,而为了表示生活中的数据,就生成了ASCII编码表。字节是最小单位,一个字节占八位,IP地址里每一个都是用字节表示的,最大为255.

而进制是可以通过二进制为媒介转换的。如十进制转换二进制,原理是进行除2运算(在计算机里是通过在主函数定义下输出打印Integer toBinarystring(某数)),反之,二进制乘2运算。而负数的二进制表现形式是此正数的二进制取反加一(取反:1001),且最高位数是1

 

变量。在内存中开辟一个空间即运算区域,通过明确数据类型、变量名称、数据,将不确定的数据进行储存。数据类型分为基本类型和引用数据类型。基本中还分为数值型和字符(char)型和布尔型(boolean)。而数值型还分为整数型(byte,short,int,long)和浮点型(float,double)。首先,byet:8个二进制表示一个字节,取值范围是负2的次方到27次方减1 short:16个二进制表示一个字节,取值范围是负215次方到215次方减1int:32个二进制表示一个字节,取值范围是231次方到231次方减1

整数默认为:int,小数默认为:double

内存中存有运算区域,CPU处理性能与此计算机内存大小乘正比。而CPU中的内存成为缓存。缓存越大,数据越多。

floatdouble不同之处在乎精确度,内存中占的空间也不一样。字符型占两个八位,16个二进制表示一个字符,范围是06535

数据不确定就用定义变量的格式储存。格式为:数据类型变量名=初始化值,不确定的数据以此形式储存。同一区间内不能定义两个变量。超出定义范围内的则会丢失精度,出现编译失败的提示。举个例子:

Byte b=3

B=b+2

这是不对的,存在字节问题,需要强制转换为b=(byte)(b+2);又如float f =2.3,这种写法也是错误的,因为2.3默认为double型。(变量只有被赋值才能用,而赋值会做自动转换如+=,而x=x+5则不能)

 

学会常变量后,下一步就是运算。先说说关于强制转换。类型转换:如floatint运算时,输出float。再如在short中,编入s=s+2结果是编译失败,因为s会被提升为int类型,运算后还是int型,无法赋给short类型。

接下来是基本型中的char字符型。不像整数占48位,字符占了28位。字符在ASCII编码表里都有对应数字。所以如果在主函数内输出打印时定义为(‘a’),则输出a;如果是(‘a+1,则输出98;如果是char(a+1),则输出b

“+”等字符串数据和任何数据使用都是相连接的,最终都会变成字符串。

printIn(“5+5=”+5+5),即打印5+5=55;而“5+5==+(5+5)则打印5+5=10。虽然是小细节,但还是得记得区分。运算时为了直观也常打印成”a+”+a+,b=+b。字符中通过\来转变由字母或者符号的定义称之为转义字符。如\b表示退格,\r相当于回车键,\t是制表符,相当于table键。(一个汉字也是两个字节,所以char c =’是可以的)

 

接着是运算符。首先是逻辑运算符。!=为非,用于连接boolean类型;&是与符号,要两真才真;|是或符号,有一真则为真。^为异或符号,真真为假,其余有一真为真,即同为假,异为真。而&&特点是左为假,右边不运算;||则左为真,右边不计算。快捷。

然后是比较运算符,他的结果不是对就是错。然后是位运算符,占4个字节。《:乘以2的移动位数的次方,而》是除以2的移动位数的次方。(用<<<时右移时最高位上补数,最高为1则补1,最高为0则补0>>>是最高都补0.用时没有正负号的干扰,更适用)接着是位运算,当然,位运算符参与运算时是用1代表真、0代表假。

重要的一个知识点是整数换为二进制时右移1位,转为八进制时右移3位,转为十六进制时右移4位。反之,左移。Eg:

int num=60;

int n1=num&15

system.out.println((char)(n1-10+A))

int temp=60>>>4;

int n2=temp&15;

system.out.println(n2);这是由整数转为十六进制(获取最低四位的方法)。

异或的运用其实蛮大的,如数据加密运用。应该注意的细节是,一个数异或同一个数两次结果还是那个数。举个例子:让两个数互换有多种办法。适合开发发的:int temp;

temp=n;

n=m;

m=temp;还有种方法是:n=n+m;

                    m=n-m;

                    n=n-m;但这种方法容易超出范围。关于异或的方法是:n=n^m;

m=n^m;

n=n^m;此法不涉及超出范围。

接着是三元运算符。它在if else都要结果的情况下优用。格式是:(表达式)?表达式1:表达式2;。

 

 

接着是很重要很重要的语句学习。首先是判断结构。首先是if。它只控制和它最近的语句。Eg:根据用户定义的数值不同,打印对应的月份英文。先以春季为例好了,if中可以有两种形式。一ifx==3||x==4||x==5)二if(x>=3 && x<=5)。为了优化代码。第一个if中定义为(x>=12||x<=2),然后倒数第二个else定义的输出为冬季,最后一个else输出月份不存在。

编译代码时,人性化提示和优化代码时很重要的。

然后是选择结构:switch语句。特点是被选择是被表达式有四种:bytecharintshort。它可以运算计算器的某些功能或做选择题。格式是:

switch(表达式)

{case取值1

语句;

break

Case取值2

语句;

break

。。。。

default

语句;

break;(可省)

}如果没读到break会跳不出。如果对应同一语句则可

case1

case2

case3

。。。:

语句;

break

举个列子。

int a=4,b=2;

char ch=’+’;

switch (ch)

{case’+’:

system.out.println(a-b);

break;

case’+’:

case ‘*’:

case ’/’:

Default:

不正确;

}

比较下,if能判断区间,而switch比较麻烦,更适用于对不多的符合intbytecharshort的具体数值运行。其他情况用if,比如bloolean型。

---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

                  

 

转载地址:https://blog.csdn.net/achu3/article/details/7564704 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:黑马程序员~~第三日的交响曲
下一篇:java中list、set和map 的区别

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月19日 06时49分51秒