黑马程序员——Java基础---语法<三>

——– android培训java培训、期待与您交流! ———-



基本语句

If 、switch 、do while 、 while、 for、 增强for、 迭代器 iterator

1、条件语句:

条件语句有两种:if语句和switch语句。
1.1、if语句:
if (条件) 
{代码块1}
else 
{代码块2}

如果条件为真,则执行代码块1,否则执行代码块2。
else部分是可选的,也就是说,可以没有else。
如果有else,则与最近的if结合:

1.2、switch语句
switch语句是多分支的开关语句,它的一般格式定义如下:
switch(表达式)
{
    case 常量值1:
    {代码块1;
    break;}
    case 常量值2:
    {代码块2;
    break;}
    ……
    default:
    {代码块}
}

在Java7中,switch支持 byte、short、char、int或者其对应的封装类以及Enum类型,以及String

在switch语句中,String的比较用的是String.equals,因此大家可以放心的使用。需要注意的是:传给switch的String变量不能为null,同时switch的case子句中使用的字符串也不能为null。
细节:
1、当判断固定个数的值的时候,可以使用if,也可以使用switch。建议使用switch,效率相对较高。
2、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。
3、当某些语句需要执行很多次时,就用循环结构。
4、break是可以省略的,如果省略了就一直执行到遇到break为止;
5、switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种,以及不为null的string;
6、default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。

1.3、循环语句:

while和for可以进行互换

区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。

do-while语句和while语句

区别在于:while语句先检查条件,如果条件不成立,则不进入循环体;do-while语句先执行循环体的代码,
再检查条件,如果条件成立,则在此执行循环体的代码。所以,do-while语句至少要执行一遍循环体的代码块。

continue:只作用于循环结构,继续循环用的。

作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。

break:作用于switch ,和循环语句,用于跳出,或者称为结束。

break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,
break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。

2、函 数

为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。

2.1、java中的函数的定义格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,…){
        执行语句;
        return 返回值;
    }

当函数没有具体的返回值时,返回的返回值类型用void关键字表示。
如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。
return的作用:结束函数。结束功能。

2.2、如何定义一个函数?

完成过程:
1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。
2)、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。
函数的作用:
1)、用于定义功能。
2)、用于封装代码提高代码的复用性。
注意:函数中只能调用函数,不能定义函数。
主函数要求:
1)、保证该类的独立运行。
2)、因为它是程序的入口。
3)、因为它在被jvm调用。

函数定义名称是为什么呢?
大家学习java的时候老师肯定说过,见名知意,方便于调用。增加代码的阅读性

重载的定义是:
在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。(overload)
如何区分重载:
如果函数名相同时,只看参数列表。和返回值类型没关系。

3、数组与字符串

3.1数组

可以把一个数组变量复制给另一个,但两个变量引用的都会是同一个内存空间,所以改变一个数组的值,另一个数组变量的值也会改变。

     public static  void Test2() {
            int num [ ] = {2, 3, 5, 1};
            int numcopy[ ]=num;
            numcopy[2 ]=5;
            System.out.print(num[2]);// 5
     }

如果真的想把一个数组的所有值都复制到另一个数组中,就需要采用

1、使用FOR循环,将数组的每个元素复制(需要将每个对象调用clone方法,才能实现真正的复制)
2、使用clone方法,得到数组的值,而不是引用
3、使用System.arraycopy(s,start1,t,start2,length)方法
(注意:s是原数组,t是目标数组,start1&start2是开始复制下标,length一般是s的长度,由于arraycopy方法不给目标数组分配内存空间,所以必需要先为t分配内存空间!)

Arrays.sort(数组名)为数组排序的操作,但这个方法在java.util这个包里面,所以在用到的时候需要先将它导入

3.2、字符串

3.2.1、取子串

String s = "I am a Chinese";
String subs;
subs = s.substring (7);

3.2.2、字符串的比较

String tom = "my name is tom";
String jane = "my name is jane";
tom.equals(jane);返回false。表示不相等
tom.compareTo(jane),返回一个负整数

因为第一个不相等的字符t和j相比,t在j的后面;如果返回0,表示相等;如果返回一个正整数,表示tom和jane第一个不相等的字符,tom的在jane的前面。
注意
不要用tom= =jane判断两个字符串是否相等,因为这样的话比较的是它们在内存中的地址是否相同,而不是我们所希望的比较字符串的内容是否相同。可以用 equals()
3.2.3、字符串连接

String s = " I am";
String s2 = "a Chinese";
String s4, s4;
s4 = s+s2;
s4=s + 24;

整数型24将会自动转换为字符串。
3.2.4、字符串检索
字符串检索是指判断一个字符串是否包含某一个字符或者子字符串,如果有,返回它的位置,如果没有,返回一个负数。

String s = "I am a Chinese";
s.indexOf("Chinese" );// 返回7;
s.indexOf('a');//返回2;

3.2.5、字符串转换为数值
如果一个字符串是一串数字,可以把它转换成相应的数值。
转换为整型:

String s = "21";
int x; 
x= Integer.parseInt (s);

3.2.6、转换为浮点型

String s = "22.124";
float f; 
f = Float.valueOf(s).floatValue();

当然,也可以把整数或者浮点数转换为字符串类型:

String s;
int n = 24;
s = String.valueOf ( n );

其他
与字符串有关的方法还有很多,我们不可能一一讲解。前面我们说过,我们要学会使用帮助。我们查找关于String的帮助,就可以看到,有关于String的所有方法的详细讲解。希望同学们可以学会使用帮助。


——– android培训java培训、期待与您交流! ———-

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值