前言
作为一名Java初学者,下面的这些一定要看哦,因为这些就是Java中最基础的,就像我们刚开始接触C语言时一样,也是从这些最基础的开始。学习就好比盖房子一样,基础一定要打好。要不然盖得房子就是危房。
如何比较两个字符串(equals()函数)
//表示最喜欢的乐曲是piano
String favorite = "piano";
//猜测喜欢的是guitar
String guess = "guitar";
System.out.println("Is Add 'favourie instrument a" + guess + "?");
// favorite.equals(guess)比较favorite
System.out.println("Answer:" + favorite.equals(guess));
是否与guess相同,相同则返回true,不相同则返回false
//若大小写不一样,则equal()也返回false
关于字符串的就在这多说一下,比如char,char a,b; 每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。如x的
十进制ASCII码是120,y的十进制ASCII码是121。对字符变量a,b赋予’x’和’y’值: a=‘x’;b=‘y’;实际上是在a,b两个单元内存放120和121的二进制代码: a 0 1 1 1 1 0 0 0
b 0 1 1 1 1 0 0 1所以也可以把它们看成是整型量。在程序中使用字符值时,必须用单引号将赋给变量的字符值括起来,而对于字符串必须用双引号括起来。如:
char name = "a";
String name = "carlwang";
如何确定两个字符串的长度(length()函数)
//定义了一个字符串name,赋值为wang heng
String name = "carl wang";
//定义整型变量nameLength,将name的长度赋给了它
int nameLength = name.length();
//输出nameLength,此处输出为9(中间的空格也占一个)
System.out.println(nameLength);
如何查找字符串(indexof()函数(index英文意思是指针,索引,在这里可以这样记 如果知道了 …的指针,就可以根据指针查找到它))没有找到返回-1(并不是0),找到返回一个整数,这一点需注意。
String name = "carlwang is a good boy";
int position = name.indexOf("wang");
if (position == -1)
System.out.println("no");
else
System.out.println("find");
如何改变字符串的大小写(toLowerCase()(转换小写)toUpperCase()(转换大写))
String myname = "carlwang";
//将小写转换成大写 System.out.println(myname2);
String myname2 = myname.toUpperCase();
toLowerCase()与toUpperCase()用法一样
三目运算符(?)(有的地方称作三元运算符)
三目运算符可以说是Java中最复杂的条件语句吧。如果我们想根据条测试件的结果进行赋值或显示,也就是说测试的结果不同,我们的赋值就不一样,这个时候我们就可以应用三目运算符了。在大多数情况下,if—else语句也可以和三目运算符互换,一般情况下都使用if—else语句。
int a = 4, b = 3;
int result = (a >= b) ? (a - b) : (b - a);
System.out.println(result);
//为了少敲代码,也可以这样写System.out.println((a >= b) ? (a - b) : (b - a);
//若a >= b为真,则result赋值为a - b;否则result赋值为(b - a);
用if—else也可以这样写
if(a >= b)
result = a - b;
else
result = b - a;
System.out.println(result);
循环语句
① for循环
for循环在Java中也是一个比较复杂的循环语句,不过,如果你之前做过C,C++的话,那么这些就简单了,因为在Java中的for循环以及下面提到的while循环和do—while循环都和C,C++中的用法差不多一样,下面也会提到一些不同点。一个与循环相关的不常见的术语是迭代,指的是执行单词的循环,用于控制循环的计数器变量就是迭代。
for循环的格式是
for( 条件1;条件2 条件3; )
括号里面的两个分号不可以省略,条件1,条件2,条件3可以不写,而且每一个条件都可以报括不知一个变量。如下:
int i, j;
for (i = 0, j = 0; i * j < 100; i++, j += 5)
System.out.println(i + "*" + j + "=" + (i * j));
比如一个求100以内所有8的倍数
//在C,C++不允许在这里定义并赋值变量a,它们需要在使用变量之前就要定义变量
for(int a = 0; a <= 100; a++) {
//取余为0则为真
if(a % 8 == 0)
System.out.print(a + " ");
}
② while循环
while循环只需要一个判断条件,并不需要像for循环那样有多个不同的组成部分。while在开始执行的时候就立即测试条件,若测试条件为fault,则不会执行循环体中的语句,这一点和if语句类似。
就拿上面的那个例子来说吧,用while循环可以这样来写
int a = 0;
while (a <= 100) {
if(a % 8 == 0)
System.out.print(a + " ");
a++;
}
③ do—while循环
do—while循环与while循环的功能类似,但有一个明显不同,那就是测试条件的地方不同。
先来看一个简单的例子:
int a = 0;
do {
if(a % 8 == 0)
System.out.print(a + " ");
a++;
} while(a <= 100);
由这个例子大家可以看到do—while在执行时,先执行循环体,再测试条件。也就是条件无论是fault还是true,都会执行一次循环体,也就是说在无论什么条件下,do—while循环至少执行一次。当为fault是跳出循环,为true则继续执行do—while循环。
退出循环
退出循环的正常途径就是指测试条件为fault,另外,我们还可以用break语句来退出循环。
int a = 0;
do {
if(a % 8 == 0)
System.out.print(a + " ");
a++;
if(a == 16)
break;
} while(a <= 100);
这段代码中,当a=16时,就会自动退出循环。
当循环嵌套时,比如下面这个例子,你想一下在跳出两个循环,有一种简单方法,就可以使用外层循环命名。
int a = 0;
int b = 40;
bLoop: //给外层循环命名
while (b < 50) {
for(int i = 0; i < b; i++)
if (a > 20)
break bLoop;//这里,不用在bLoop后面加冒号
a = a + 1;
System.out.println(a);
}
注意:要使用循环命名,就必须将名称放在循环起始位置,并在后面加‘:’。
当然你也可以用两个break来跳出循环。
int a = 0;
int b = 40;
bLoop:
while (b < 50) {
for(int i = 0; i < b; i++)
if(a > 20)
break;
a = a + 1;
System.out.println(a);
break;
}
如果循环嵌套太多了的话,每一层用一个break,也太麻烦了。第一种方法还是很方便的。