java基础第三弹~~

java源程序可以定义若干个类,但是只有一个主类。在application中,这个主类就是包含有main方法的类,在applet中就是继承了系统类Applet的子类。
主类是java程序执行的入口点。java程序中的若干类之间没有严格的逻辑关系要求,通常是一起协同工作,每一个类都可能需要使用其他类中定义的静态属性或方法。
java程序由类定义组成,每个类内部包括类的静态属性声明和类的方法,所以除了静态属性声明语句之外,其他的执行具体操作的语句只能存在于类方法的大括号中,不能跳出方法孤立的直接写在类中。


比语句更小的语言单位是表达式、变量、常量和关键字等。java的语句就由它们构成的。
用户定义的常量和变量的取名不能与保留字(即关键字)相同。


java的各种数据类型占用固定的内存产顾,与具体的软硬件平台环境无关[跨平台性]。
java的每种数据类型都对应一个默认的数值,使得这种数据类型的变量的取值总是确定的[安全性]。
数据类型 关键字 占用位数 默认数值 取值范围
布尔型 boolean 8 false true,false
字节型 byte 8 0 -128~127
字符型 char 16 '\u 0000' '\u 0000'~'\u FFFF'
短整型 short 16 0 -32768~32767
整形 int 32 0 -2147483648~2147483647
长整形 long 32 0 -9223372036854775808~922372036854775807
浮点型 float 32 0.0F (1.40129846432481707e-45)~(3.40282346638528860e+38)
双精度型 double 64 0.0D (4.94065645841246544e-324)~(1.79769313486231570e-308d)


一种严格的面向对象语言,它的所有成分都应该是与类或对象有关的引用数据类型,不应该有基本数据类型存在,但是因为这些简单的数据类型应用得太广太多,为了简化编程,java中就定义了与面向过程相似的与类无关的基本数据类型。[从这个意义上来说,java不是严格意义上的完全面向对象的语言。]


任何一个变量、常量、方法、对象和类都需要一个名字标志它的存在,这个名字就是标识符。
标识符需要遵循的语法:
标识符可以由字母、数字和两个特殊字符("_","$")组合而成。
标识符必须以字母,下划线或美元符号开头。
java语言是大小写敏感的语言,任何一个字母不同,哪怕只是大小写不同,那么就是不同的标识符。
标识符应该尽量反应它所标的是变量、常量、方法、对象或类的意义,增加程序的可读性。


类名、接口名: 采用名词,首字母大写,内含的单词首字母大写。
方法名: 采用动词,首字母小写,内含的单词首字母大写。
变量名: 采用名词,首字母小写,内含的单词首字母大写。
常量名: 全部大写,单词间用下划分开。


常量是一经建立,在整个程序运行过程中都不会改变的。
转义字符(字符常量):
引用方法 对应Unicode码 意义
'\b' '\u 0008' 退格
'\t' '\u 0009' 水平制表符tab
'\n' '\u 000a' 换行
'\f' '\u 000c' 表格符
'\r' '\u 000d' 回车
'\"' '\u 0022' 双引号
'\' ' '\u 0027' 单引号
'\\' '\u 005c' 反斜杠


变量是在程序的运行过程中数值可变的数据,通常用来记录运算中间结果或者保存数据。
变量必须先声明后使用,声明变量包括知名变量的数据类型和变量的名称,必要也可以指定变量的初始数值。
在执行声明语句的时候,系统会根据变量的数据类型子啊内存中开辟相应的空间并等级变量名称、初始值等信息。
变量有一定的生存期和有效范围[也就是声明该变量的语句块,离开该语句块,变量就没有意义,也不能再使用。]


表达式是有变量、常量、对象、方法调用和操作符组成的式子,符合语法规则的标的是可以被编译系统理解、执行或计算,表达式的值就是对它运算后所得到的值。
java的操作符:
赋值和强转:
变量或对象 = 表达式;[赋值]
当左边是一个对象名时,赋值运算符将右边表达式所得的对象的引用赋值给它,而没有为这个对象开辟新的内存空间,然后把右边对象的所有内容赋值给它。
在赋值运算的时候,可能会遇到等号左边和右边的数据类型不同的情况,这时候就要把右边的转化成左边的类型。
凡是将变量从占用内存较少的短数据类型转化成占用内存较多的长数据类型是,可以不做显示的类型转换声明,但是将变量从占用内存较多的长数据类型转换成占用内存较少的短数据类型时,必须做 强制类型转换
长数据类型 变量名 = (长数据类型)变量名或表达式;

字符串相连:s1+s2[利用”+“来连接字符串]  [如果左边是字符串,那么右边是整形也以字符串方式相连,左边是整形,且左边的左边没有字符串类型数据,右边也是整形,才能相加,然后和和字符串想连]


各种运算符:
运算符 运算 例子 功能
+ a+b a和b的和
- a-b a和b的差
* a*b a和b的积
/ a/b a和b的商
% 取余 a%b a和b的余数


++ 自增 a++或++a a=a+1
-- 自减 a--或--a a=a-1
- 求相反数 -a a=-a


返回值为布尔型的运算符:
运算符 运算 例子 功能
== 等于 x==y x==y时为真,否则为假
!= 不等于 x!=y x!=y时为真,否则为假
> 大于 x>y x>y时为真,否则为假
< 小于 x<y x<y时为真,否则为假
>= 大于等于 x>=y x>=y时为真,否则为假
<= 小于等于 x<=y x<=y时为真,否则为假
& 非简洁与 x&y x,y都真时结果才为真
| 非简洁或 x|y x,y都假时结果才为假
! 取反 !x x真时为假,x假时为真
^ 异或 x^y x,y同真假时结果为假
&& 简洁与 x&&y x,y都真时结果才为真
|| 简洁或 x||y x,y都假时结果才为假


位移运算符
运算符 运算 例子 功能
~ 位反 ~x 将x按比特位取反
>> 右移 x>>n x各比特位右移n位
<< 左移 x<<n x各比特位左移n位
>>> 不带符号右移 x>>>n x各比特位右移n位,左边的空格一律填零
?: 三目条件运算 x?y:z 如果x值为真,那么结果为y的值,否则为z的值


复杂的赋值运算
运算符 例子 等价于
+= x+=a x=x+a
-+ x-+a x=x-a
*= x*=a x=x*a
/= x/=a x=x/a
%= x%=a x=x%a
&= x&=a x=x&a
|= x|=a x=x|a
^= x^=a x=x^a
括号运算符用来改变运算先后顺序的作用,优先级是所有运算符中最高的。
对象运算符 instanceof用来测定一个对象是否是某个指定类或者是其子类的实例,是就返回true,否则返回false。


注释:
java中的三种注释:
//用于单行注释
/*  用于多行注释   */
/**  用于生成javadoc文档的注释  */


流程控制语句是用来控制程序中各语句执行顺序的语句,是程序中非常关键和基本的部分。
结构化程序设计的最基本原则是: 任何程序都可以且只能由三种基本流程结构构成,即顺序结构,分支结构,循环结构。它们构成了程序局部模块的基本框架。
顺序结构就是按照语句书写的顺序依次执行。
分支结构又称选择结构,它根据计算所得的表达式的值来判断应选择执行哪个流程分支。
循环结构是在一定条件下反复执行一段语句的流程结构。
if语句的形式:
if(表达式){
语句块;
}
其他语句块;


if(表达式){
语句块;
}else{
语句块;
}


if(表达式){
语句块;
}else if(表达式){
语句块;
}else{
语句块;
}


switch语句为多分枝语句:
switch(表达式){
case 判断值1 : 语句块1;
case 判断值2 : 语句块2;
case 判断值3 : 语句块3;
...
case 判断值n : 语句块n;
default : 语句块n+1;
}
如果只需要执行其中一个语句,一定要有break语句,否则,如果第二个满足条件的话,那么从第二个一直到第n个都会执行。
如果都不符合就直接跳出。


循环语句:do、while和for
while语句:
while(条件表达式){
循环语句块;
}


do语句[循环体至少被执行一次]:
do{
循环语句块;
}while(条件表达式);


for语句[表达式1完成初始化;表达式2判断循环是否继续;表达式3改变循环条件]:
for(表达式1① : 表达式2② : 表达式3③){
循环语句块④;
}
①--->②--->④---->③--->②--->④---->③---->②--->④---->③----->......--->②--->出来


跳转语句:

用来实现程序执行过程中流程的转移。goto不被java支持是因为java的可靠性和可读性。
continue:跳出本次循环,执行下一次循环[可选标号名,用来表示跳至哪个循环处]。
break:跳出当前循环,执行其下面的语句[可选标号名,用来表示跳至哪个循环处]。
return:使程序从方法调用中返回[返回表达式,用来表示调用方法的返回值]。





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值