栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础学习(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础学习(一)

@Java基础学习


1、f(n)=1+1/2+1/3+…+1/n
代码如下(示例):

  2f小数点后两位(四舍五入)

f(n) = 1-1/2+1/3-1/4+…+1/n
代码如下(示例):

public class Hello {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		Double sum = 0.0;
		int sign = 1;
		for(int i = 1;i <= n; i++) 
		// 或是 for(int i = 1;i <= n; i++,sign = -sign;) 
		{
			sum += sign*1.0/i;  //i++;sign = -sign;
			sign = -sign;
//			if(i % 2 == 0)
//			{
//				sum += 1.0/i;
//			}
//			else 
//			{
//				sum -= 1.0/i;
//			}
		}
		System.out.println(sum);		
		System.out.printf("%.2f",sum);		
	}
2.数组

1.用户输入的数字的平均数,并输出所有大于平均数的数?

代码如下(示例):

Scanner in = new Scanner(System.in);
		int x ;
		double sum=0;
		int[] numbers = new int[100]; //定义数组
		int cnt = 0;
		x = in.nextInt();
		while( x != -1)
		{
			numbers [cnt] = x; //对数组赋值
			sum += x;
			cnt++;
			x = in.nextInt();
		}
		double average = sum/cnt;
		System.out.println("average:"+average);
		for(int i=0 ; i<=cnt ; i++)
		{
			if( numbers[i]>average )
			{
				System.out.print(numbers[i]+" ");
			}
		}	

结果:

2.数组是一种容器(放东西的东西),特点是:其中所有的元素具有相同的数据类型;一旦创建,不能改变大小。
定义数组变量:
<类型> [ ] <名字> = new <类型> [元素个数]
int [ ] grades = new int [100] ; // gardes[ ];
● 元素个数必须是整数
● 元素个数必须给出
● 元素个数可以是变量
int [ ] a = new int [10] // a[0]开始到a[9]
动态数组
代码如下(示例):

Scanner in = new Scanner(System.in);
	double sum=0;
	int cnt = in.nextInt();
	if(cnt > 0)
	{
		int[] numbers = new int[cnt]; //定义动态数组
		for(int i = 0; iaverage )
				{
					System.out.print(numbers[i]+" ");
				}
			}	
		}
for(int i=0 ; i 

length:每个数组有一个内部成员length,会告诉你它的元素的数量 遍历数组时: ```c for(int i=0 ; i
   数组变量赋值
   ● 数组变量是数组的管理者而非数组本身
   ● 数组必须创建出来然后交给数组变量来管理
   ● 数组变量之间的赋值是管理权限的赋予
   ● 数组变量之间的比较是判断是否管理同一个数组
int[] a1 = {1,2,3,4,5};
int[] a2 = a1;
for( int i =0 ;i 

结果:

		int[] a = {1,2,3,4,5};
		int[] b = {1,2,3,4,5};
		System.out.println(a==b);//a管理a数组,b管理b数组,本质不一样。
false

复制数组
●必须遍历源数组将每个元素逐一拷贝给目的数组
代码如下(示例):

int[] a = {1,2,3,4,5};
		int[] b = new int[a.length];
		for(int i =0; i 
1 2 3 4 5 false

投票统计
代码如下(示例):

Scanner in = new Scanner(System.in);
		int x;
		int[] numbers = new int[10];
		for(int i =0 ;i=0 && x<=9)
			{
				numbers[x] ++ ;
			}
			x = in.nextInt();
		}
		for(int i =0 ;i 

搜索
●在一组给定的数据中,如何找出某个数据是否存在?
代码如下(示例):

		Scanner in = new Scanner(System.in);
		int[] data = {3,2,5,7,214,53,647,43};
		int x = in.nextInt();
		int loc = -1;
		for(int i =0; i-1)
		{
			System.out.println(x+"是第"+(loc+1)+"个");
		}
214
214是第5个

遍历数组

for(int i =0; i 

●通常都是使用for循环,让循环变量i从0到<数组的length,这样循环体内最大的i正好是数组最大的有效下标
●常见错误是:
●循环结束条件是<=数组长度,或;
●离开循环后,继续用i的值来做数组元素的下标!
for-each

for(<类型><变量>:<数组>){
}

代码如下(示例):

		Scanner in = new Scanner(System.in);
		int[] data = {3,2,5,7,214,53,647,43};
		int x = in.nextInt();
		boolean found = false;
		for( int k : data) //遍历data数组 k=3,k=2…
		{
			if( x==k )
			{
				found = true;
				break;
			}
		}
		if(found)
		{
			System.out.println(x+"在其中");
		}
		else
		{
			System.out.println(x+"不在其中");
		}

数组的例子:素数
判断是否能被已知的且 ●构造前50个素数的表
代码如下(示例):

		int[] primes = new int[50];
		primes[0] = 2;
		int cnt = 1; // ①primes数组当前存了一个数据,②下一次数组下标为1
		MAIN_LOOP:
		for( int x = 3; cnt < 50; x++) //从3开始依次增加 检查是否为素数
		{
			for( int i = 0; i 
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 

构造素数表
●欲构造n以内的素数表
1.令x为2
2.将2x、3x、4x直至ax 3.令x为下一个没有被标记为非素数的数,重复2;直到所有的数都已经尝试完毕
代码如下(示例):

		boolean[] isPrime = new boolean[100]; 
		for( int i=2; i 
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 

二维数组
● int[][] a = new int[3][5]
●通常理解为a是一个3行5列的矩阵
二位数组的遍历

		for( i=0; i<3; i++)
		{
			for( j=0; j<5; j++)
			{
				a[i][j] = i*j
			}
		}
	● a[i][j]是一个int
	● 表示第i行第j列上的单元
	● a[i,j]并不存在

二位数组的初始化

		int[][] a = {
				{1,2,3,4},
				{1,2,3},
		};
	● 编译器来数数
	● 每行一个{},逗号分隔
	● 最后的逗号可以存在,有古老的传统
	● 如果省略,表示补零

tic-tac-toe游戏
● 读入一个3×3的矩阵,矩阵中的数字为1表示该位置上有一个X,为0表示为O
●程序判断这个矩阵中是否有获胜的一方,输出表示获胜一方的字符X或O,或输出无人获胜
代码如下(示例):

		Scanner in = new Scanner(System.in);
		final int SIZE = 3;
		int[][] board = new int[SIZE][SIZE];
		boolean gotResult = false;
		int numOfx = 0;
		int numOfO = 0;
		
		//读入矩阵
		for( int i=0; i 
1 1 1 0 0 0 0 0 0
第1行赢
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763477.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号