2019-7-22Java菜鸟入门笔记②

1、数组

a)定义数组变量

[] = new [元素个数];

eg: int[] grades =new int[100];
double[] averages = new double[100];

(元素个数必须是整数;元素个数必须给出;元素个数可以是变量)

问题:如何计算用户输入的平均数,并输出所有大于平均数的数?

文件名:Average.java

package average;
import java.util.Scanner;
public class Average {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] numbers = new int[100];//定义数组
int x;
double sum=0;
int cnt=0;
x=in.nextInt();
while(x!=-1)//当输入-1时所有输入停止
{
numbers[cnt]=x;
sum+=x;
cnt++;//计算一共有多少数字,初始化时必须为0
x=in.nextInt();
}
if(cnt>0) {
double average =sum/cnt;
for(int i=0;i
{
if(numbers[i]>average)
{
System.out.println("高于平均数的是:"+numbers[i]);//输入高于平均数的数
}
}
System.out.println("平均数是:"+(sum/cnt));
}
}
}

运行结果

java在string数组中输入字符 java如何输入字符串数组_初始化

2、字符串

a)用双引号括起来的0个或多个字符就是一个字符串面量;

b)字符串变量:

String s;

String是一个类,String的变量是对象的管理者而非所有者

c)new = 创建

String s = new String(“a string”);

创建了一个String类的对象,用"a string"初始化这个对象,创建管理这个对象的变量s

初始化字符串变量也可以直接 String s =“hello”;

d)用加号+可以连接字符串,当+的一边是字符串而另一边不是字符串时,会将另一边表达为字符串然后做连接eg:

"I'am "+"18"->"I' am 18";
1+2+"age"->"3age";
"age"+1+2->"age12";

e)输入字符串:

in.next();//输入一个单词,单词的标志是空格,空格包括空格、tab、换行。只读一个词。
in.nextLine();//输入一整行

两者不同之处在于,当如输入"this is a test"时,in.next()后只输出this,in.nextLine()输出完整的一行

f)比较两个字符串:

if(input=="bye"){....}//比较是否同一个
if(input.equals("bye")){...}//比较内容是否相同

g)字符串操作:

字符串是对象,对它的所有操作都是通过.这个运算符来进行的,表示对左边的字符串进行.右边的操作,字符串可以是变量也可以是常量。

s1.compareTo(s2);//比较两字符串的大小,如果s1小于s2,结果为负,若等于结果为0,若大于结果为正;
compareToIgnoreCase可以不区分大小写来比较大小;
s1.length();//获取字符串的长度
s.charAt(index);//访问字符串里面的字符,返回在index的单个字符,index的范围是0到length()-1,和数组一样;
s.substring(n);//得到从n号位置到末尾的全部内容;
s.substring(b,e);//得到从b号位置到e号位置之前(注意不包括e号位置)的内容

寻找字符:

s.index0f(c);//得到c字符所在的位置,不存在返回-1;s.LastIndex0f(c);//从右边开始找;
s.index0f(c,n);//从n号位置开始寻找c字符;s.LastIndex0f(c,n);//从右边开始找;
s.index0f(t);//找到字符串t所在的位置;s.LastIndex0f(t);//从右边开始找;
s.replace(char oldchar ,char newchar);//字符串替换,所有的oldchar都会被替换;
s.trim();//去除空格;
s.startWith(String prefix);//
s.endWith(String prefix);//判断字符串的开始与结尾,返回值为boolean类型;
s.toUpperCase();//转换为大写字母;
s.toLowerCase();//转换为小写字母;

注:字符串操作并非改变字符串本身,若要获得新的字符串,需要赋给新的字符串。

h)这里补充一下boolean的问题,boolean(布尔类型)有两个值:true和false,用来判断逻辑条件,整型值和布尔值之间不能进行相互转换。

java在string数组中输入字符 java如何输入字符串数组_java+字符串++数组_02