本文共 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++在这些基础上的不同之处在于表现形式不一样。
第一天已经了解了关键字和注释,接着是标识符。它包括类名等在程序中自定义的一些名称。由0到9,26个字母,-,$组成,数字不能开头,不能使用关键字,且严格区分大小写。其中有一些要注意的固定定义,包名要小写;类名和接口名每个单词首字母大写;变量名和函数名第一个小写第二个开始每个单词首字母大写;常量名大写。
重新打一遍,亚历山大,北京时间零点42分,希望这部分知识记得更劳咯。
先说声字符,它是由单引号定义的,只能定义一个,字符串则有双引号定义。然后是常量,分为整数、小数、布尔型常量(只有两个变量值:ture、false)、null常量。而整数的表现形式又分为二、八、十、十六进制。二进制是由电信开关演变而来,而八进制和十六进制则是由二进制为了操作方便演变而来。八进制中的一位代表3个二进制,十六进制一位代表4个二进制。进制越长,表现形式越短。
刚开始接触进制时有点懵,看完后觉得满微妙的,不难理解。
计算机内存和硬盘中的都是二进制数据,而为了表示生活中的数据,就生成了ASCII编码表。字节是最小单位,一个字节占八位,IP地址里每一个都是用字节表示的,最大为255.
而进制是可以通过二进制为媒介转换的。如十进制转换二进制,原理是进行除2运算(在计算机里是通过在主函数定义下输出打印Integer toBinarystring(某数)),反之,二进制乘2运算。而负数的二进制表现形式是此正数的二进制取反加一(取反:1变0;0变1),且最高位数是1。
变量。在内存中开辟一个空间即运算区域,通过明确数据类型、变量名称、数据,将不确定的数据进行储存。数据类型分为基本类型和引用数据类型。基本中还分为数值型和字符(char)型和布尔型(boolean)。而数值型还分为整数型(byte,short,int,long)和浮点型(float,double)。首先,byet:8个二进制表示一个字节,取值范围是负2的次方到2的7次方减1; short:16个二进制表示一个字节,取值范围是负2的15次方到2的15次方减1;int:是32个二进制表示一个字节,取值范围是2的31次方到2的31次方减1。
整数默认为:int,小数默认为:double。
内存中存有运算区域,CPU处理性能与此计算机内存大小乘正比。而CPU中的内存成为缓存。缓存越大,数据越多。
float和double不同之处在乎精确度,内存中占的空间也不一样。字符型占两个八位,16个二进制表示一个字符,范围是0到6535。
数据不确定就用定义变量的格式储存。格式为:数据类型变量名=初始化值,不确定的数据以此形式储存。同一区间内不能定义两个变量。超出定义范围内的则会丢失精度,出现编译失败的提示。举个例子:
Byte b=3;
B=b+2;
这是不对的,存在字节问题,需要强制转换为b=(byte)(b+2);又如float f =2.3,这种写法也是错误的,因为2.3默认为double型。(变量只有被赋值才能用,而赋值会做自动转换如+=,而x=x+5则不能)
学会常变量后,下一步就是运算。先说说关于强制转换。类型转换:如float和int运算时,输出float。再如在short中,编入s=s+2结果是编译失败,因为s会被提升为int类型,运算后还是int型,无法赋给short类型。
接下来是基本型中的char字符型。不像整数占4个8位,字符占了2个8位。字符在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中可以有两种形式。一if(x==3||x==4||x==5)二if(x>=3 && x<=5)。为了优化代码。第一个if中定义为(x>=12||x<=2),然后倒数第二个else定义的输出为冬季,最后一个else输出月份不存在。
编译代码时,人性化提示和优化代码时很重要的。
然后是选择结构:switch语句。特点是被选择是被表达式有四种:byte、char、int、short。它可以运算计算器的某些功能或做选择题。格式是:
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比较麻烦,更适用于对不多的符合int、byte、char、short的具体数值运行。其他情况用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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!