java自我进阶篇

进阶篇

Random:用于产生一个随机数

导包(~=头文件):import java.util.Random
{
Random r/*变量*/=new Random();  //创建对象
int number/*变量*/=r/*同上变量*/.nextInt(10);  //获取随机数,获取范围[0,10)
    
注:int i =r.nextInt(10)+2;  //表示区间向右移动两个单位,即[2,12)
}

数组:用于存储多个相同类型数据的存储模型
1.数组的定义: int [] arr (arr为数组名) 或 int arr []
2.动态初始化:int [] arr=new int [3] ; (new:为数组申请内存空间)

System.out.println(arr);//输出数组地址
System.out.println(arr[1]);//访问数组内容(arr[0]为首项)

3.静态初始化:int [] arr =new int [] {数据1,数据2,数据3…};
简化格式:int [] arr={数据1,数据2,数据3…};

4.数组再初始化时,会为存储空间添加默认值

  • 整数:默认值0
  • 浮点数:默认值0.0
  • 布尔值;默认值false
  • 字符:默认值是空字符
  • 引用数据类型:默认值是null

5.内存分配(由此看与C指针有相像之处)
请添加图片描述
请添加图片描述请添加图片描述

6.数组的长度调用:arr.length
7.注意事项

  • 索引越界:即访问超过数组长度的地址
  • 空指针异常:访问的数组已经不再指向堆内存的数据。如数组内容为null

今天上实验课打机差点被一道看起来简单的题搞自闭了😭
还好最好写出来了
请添加图片描述
以下是我写的代码

#include<stdio.h>
int main(){
	int n;
	scanf("%d", &n);
	char ch[100][100];
	int x = (n + 1) / 2;
	for (int i = 1; i <= x; i++)
	{
		for (int j = 1; j <= n; j++)
			if (j >= x - (i - 1) && j <= x + (i - 1))
			{
			ch[i][j] = '*';
			printf("%c", ch[i][j]);
			}
			else
				printf(" ");
		printf("\n");
	}
	for (int i = x + 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
			if (j >= x - (n - i) && j <= x + (n - i))
			{
			ch[i][j] = '*';
			printf("%c", ch[i][j]);
			}
			else
				printf(" ");
		printf("\n");
	}
}

欢迎大佬指教

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值