赚一笔-2

一.常量与变量

常量:程序中固定不变化的值。

常量分类:

  1. 字面值常量: 比如:整数常量1,2,3,
  2. 小数常量3.14,布尔常量false,true等。.
  3. 定义的final变量:

变量: 表示存储空间,可用来存放某一类型的常量值,没有固定值,并可以重复使用,也可以用来存储某种类型的未知数据。

变量又有局部和全局 注:与c++不同 java中的全局变量是整个类中 不像c++ 要在定义前才能使用

 如上图所示 可以在上一个方法中使用下面定义的int变量

常量与变量在c++的定义中大同小异,基本上无缝链接。

二.数据类型

 类型占用的大小如下图

 基本类型的使用与C++中类似。

String

除了8种基本数据类型,其他所有类型都是引用数据类型,包括类、接口、数组。

引用数据类型默认初始值都是null。 String是一个类,表示字符串,所谓字符串,就是一串字符,也就是N个字符连接在一起(N可以表示0或多个),

好比羊肉串。 字符串都得使用 "" 括起来的,连接字符串使用 “+”符号。

------------------------------------- 字符串拼接:字符串和任意数据类型相连接,结果都是字符串类型.

类型的自动提升

当一个算术表达式中包含多个基本数据类型(boolean除外)的值时,整个算术表达式的数据类型将在数据运算时出现类型自动提升,其规则是: 所有的byte、short、char类型被自动提升到int类型; 整个表达式的最终结果类型被提升到表达式中类型最高的类型;

算术运算符

switch语句

 

注:switch的使用细节和使用注意: switch语句适用于对多个整型值进行匹配判断,从而实现条件的分支控制。 和if语句不同的是:if语句后面是根据boolean表达式判断的,所以表达式的结构可以任意写,而switch只是相当于做“表达式 == 数值”的boolean表达式判断。,推出:其实if语句更强大,switch仅仅只是对整数类型的判断而已,使用更简单. 这里的数值的类型是除long之外的整型类型,也就是说switch支持的类型是byte,short,char,int。 本质:switch仅仅只能支持int类型.(byte,short,char,会自动提升为int类型)

--------------------------------------------------------------

switch语句选择的基本数据类型只有四种:byte、short、char、int,没有long。支持的引用类型是以上四个基本数据类型的包装类(后讲),依次是Byte、Short、Character、Integer以及从Java5开始支持的枚举和Java7开始支持的String类。 case只是用来为switch选择一个执行代码的入口,如果一旦进入某个入口之后,后面的case实际上已经失去了判断的意义,也就是说代码在进入switch执行的时会把入口case之后的case统统忽略,会一直往下执行,直到遇到break或return。(穿透) 所以大家可以发现,每一个case后面没有{}这个符号来表示一个代码块。

------------------------

default表示,所有的case的值都不正确,一般放在switch的最后,也不需要使用break语句, 

while for循环与c++基本一致

方法

方法(Method),有人称之为函数(function),表示一个功能.

定义:    程序中能完成独立功能,可重复使用的一段代码的集合;

作用:    解决了代码功能重复问题.

方法格式: ---------------------------------------------------------------------------    

[修饰符] 返回值类型  方法名字([类型 变量1,类型变量2 ,....])     {

         方法体        

 [return 值];  

}

---------------------------------------------------------------------------

方法中术语:    

修饰符: 方法的访问权限等,静态的(static).  

返回值类型: 当方法操作完毕之后,可能会给调用者返回一个结果.如果没有返回值,此时我们把返回值类型声明为void.                

如果方法定义了返回类型,则方法体必须使用return返回该类型的一个值.              

 如果方法使用void来表示返回值类型,此时在方法体中不需要使用return.  

 方法名字:  命名的使用符合标识符规范,使用一个动词或者动词短语表示,首字母小写,

如:sendMsg(发生信息),register(注册)  

 形式参数:  其实是多个变量,统称为形参,包括:参数个数,参数的类型,参数的顺序,此时参数的名字没有实质的意义.    方法签名:  方法签名 = 方法名字  +  形式参数;              

 在同一个类中,多个方法的签名不能相同.            

  推论:1)方法必须定义在类中,

2)方法之间是兄弟关系(平行).  

 实际参数:   调用方法的时候,实际传递的参数值.              

 方法只有被调用才会执行!方法可以被重复调用!  

  如何设计方法:

 1):如何确定方法的参数列表.          

 在完成该功能的时候,有哪些未知的元素参与,此时未知的元素就作为形式参数.

   2):如何确定方法的返回值类型.            

完成该功能之后是否需要给调用者返回一个结果.                      

 如果不会返回结果,此时使用void声明.            

若方法有返回,一般的,调用者都会去接收结果.

 方法重载(overload):    

解决:同一种功能的多个方法,因为参数列表不同,带来方法名称不同的问题.

遵循的原则:    

两同一不同:        

两  同: 方法必须在同一个类中,并且方法的名字相同.      

 一不同: 方法各自的参数列表不同(参数类型,参数个数,参数顺序).    

遵循了两同一不同原则的多个方法,之间就属于重载关系. 和返回类型没有关系.

与C++中基本一致

数组

数组的基本操作:  

0):打印数组对象,会打印出数组的hashCode值,看不出来数组元素值.  

1):获取/设置/遍历元素元素:      

获取数组元素值:     数组元素类型 变量 =   数组名[index];    

  设置数组元素值:     数组名[index] = 值;      

迭代数组元素:       使用循环,一般的,首选for循环.  

2):数组的长度(使用length属性):        int len = 数组名.length;//获取当前数组有几个元素个数

  3):数组的索引从0开始,逐一递增.       数组索引的范围:[0,数组长度-1]  

4):操作数组常见异常(错误):      

ArrayIndexOutOfBoundsException:数组的索引越界,不在索引范围之内.      

NullPointerException:空引用异常,操作了一个为null的数组变量.

  5):获取数组最大最小元素         求最大值: getMax         求最小值: getMin  

6):打印数组元素:      期望:打印格式:[A, B, C, D, E]  

7):逆序排列数组元素:      [A, B, C, D, E]--->[E, D, C, B, A]  

8):元素出现索引(第一次/最后一次)

道阻且跻 距离赚一笔还要继续努力

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值