1.数组及简介
学习了数组的定义及简单使用
public class demo_one {
public static void main(String[] args) {
/**
* 数组简介
* 动态初始化:
* 方法一:数组中存放的数据类型[] 数组名称=new 数据类型[数组长度];推荐写法
*/
int[] arr1=new int[5];//推荐写法
//方法二:数组中存放数据的类型 数组名称[]=new 数据类型[数组长度]
int arr2[]=new int[5];//不推荐写法,但是也没错
/**
* 静态初始化
* 我们给出值,系统判断长度
* 方法一:数组中存放的数据类型[] 数组名称=new 数据类型[]{数据1,数据2,...}
*/
int[] arr3=new int[]{11,22,33,44,55,56};
//方法二:数组中存放的数据类型[] 数组名称={数据1,数据2,...}(推荐写法)
int[] arr4={11,22,33,44,222};//推荐写法
//基础数据类型,如果只定义不赋值,不能进行使用
int a;
// System.out.println(a);//java提示报错,尚未初始化变量
//引用型数据,如果没有赋值,会自动赋一个默认值
System.out.println(arr1);
System.out.println(arr1[1]);
/**
* 如果定义一个数组,是int类型,动态初始化时,每一个元素都会赋一个0
* 如果定义一个数组,是double类型,动态初始化时,每一个元素都会赋一个0.0
* 如果定义一个数组,是boolean类型,动态初始化时,每一个元素都会赋一个false
* 如果定义一个数组,是String类型,动态初始化时,每一个元素都会赋一个null
*/
double[] arrD=new double[5];
System.out.println(arrD[1]);
boolean[] arrB=new boolean[5];
System.out.println(arrB[1]);
String[] arrS=new String[5];
System.out.println(arrS[1]);
}
}
使用数组做一些简单的demo练习
/**
* 数组的常见操作
*/
public class demo_three {
public static void main(String[] args) {
int[] arr={2,34,23,3444,4555,245,20000};
//思路:
//创建一个变量储存颜值最大值
int yanMax=arr[0];
//2.循环遍历arr获取每一个元素 与最大值进行比较
for (int i = 0; i < arr.length; i++) {
if(arr[i]>yanMax){
yanMax=arr[i];
}
}
System.out.println("颜值最大值为:"+yanMax);
}
}
/**
* 数组的基本用法
* 数组中有索引,从左至右,从0开始递增
* arr:{11,12,33,44,55}
* index:0 1 2 3 4
*
* 使用数组的元素 arr[index]
* 修改数组中的元素 arr[index] = value
* 获取数组中元素的个数,或者说获取数组的长度:arr.length
*/
public class demo_two {
public static void main(String[] args) {
//1.定义一个长度为5的int类型的数组
int[] arr=new int[5];
//2.打印数组中的第三个元素
System.out.println(arr[2]);
//3.设置数组中的第一个元素为11
arr[0]=11;
//4.获取数组中的第一个元素值,并将其赋值给变量a,然后打印
int a= arr[0];
System.out.println(a);
//5.打印数组的长度,强调:length中没有括号,证明其是一个属性,不是方法
System.out.println(arr.length);
}
}
以上就是day_02学习的数组相关知识,记录在这,方便以后复习观看
2.方法及简介
学习了方法的构成,方法的调用,无参无返回值,无参有返回值,有参无返回值,有参有返回值的几种方法,并进行demo练习
/**
* 方法简介
* 方法的定义
* 修饰符 返回值类型 方法名(参数类型 参数名称1,参数类型 参数名称2...)
* 方法体:要实现的功能代码
* return 返回值
*/
public class fangfa_four {
public static void main(String[] args) {
func1();
func2("小明");
System.out.println(func3());
System.out.println(func4(1,2));
}
private static void func2(String name) {
System.out.println("和"+name+"玩,令人很开心");
}
private static void func1() {
System.out.println("hello city");
}
private static String func3(){
return "hello";
}
private static int func4(int a,int b){
return a+b;
}
}
数组和方法进行结合做的一些练习,通过方法,将数组要实现的功能放在方法里面,需要使用了就可以直接调用
public class fangfa_five {
public static void main(String[] args) {
int[] arr1={12,1,34,44,55,66};
printArray(arr1);
System.out.println(getMax(arr1));
int[] arr2=compute(3,4);
printArray(arr2);
}
//遍历数组
public static void printArray(int[] arr){
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
System.out.println(" ");
}
//获取数组最大值
public static int getMax(int[] arr){
int maxNum=arr[0];
for (int i = 0; i < arr.length; i++) {
if(arr[i]>maxNum){
maxNum=arr[i];
}
}
return maxNum;
}
//生成数组
public static int[] compute(int a,int b){
//1.创建一个长度为4的空数组
int[] arr=new int[4];
//2.计算加减乘除的结果,赋值给数组中0-3号下标的元素
arr[0]=a+b;
arr[1]=a-b;
arr[2]=a*b;
arr[3]=a/b;
//3.将数组返回
return arr;
}
}
3.时间
时间这里学习了 年月日 时分秒的格式转换,主要用到两个类 SimpleDateFormat,Calendar
Calendar是一个抽象类,不能实例化,可以通过getInstance()获得实例
时间格式转换的代码练习如下
import javafx.scene.chart.PieChart;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 需求
* • 定义工具类DateUtils, 该类有两个方法: date2String(), string2Date(), 分别用来格式化, 解析日期.
* • 在测试类中, 测试上述的两个方法.
* • 注意: 解析日期字符串时, SImpleDateFormat对象的模板要和被解析的字符串格式保持一致.
*/
public class DateUtils {
private DateUtils() {
}
public static Date string2Date(String dateStr,String parrent) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat(parrent);
Date parse = sdf.parse(dateStr);
return parse;
}
public static String date2String(Date date,String parrent) {
SimpleDateFormat sdf=new SimpleDateFormat(parrent);
String format = sdf.format(date);
return format;
}
}
class Test{
public static void main(String[] args) throws ParseException {
Date d1=new Date();
System.out.println(DateUtils.date2String(d1, "yyyy-MM-dd"));
String dateStr="2022年5月12 12时45分6秒";
System.out.println(DateUtils.string2Date(dateStr,"yyyy年MM月dd HH时mm分ss秒"));
}
}
import java.util.Calendar;
import java.util.Scanner;
public class demo_seven {
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance();
System.out.println(calendar);
//静态变量
System.out.println(calendar.DATE);
System.out.println(calendar.MONTH);
System.out.println(calendar.YEAR);
System.out.println(calendar.WEEK_OF_MONTH);
calendar.set(2023,8,14);
System.out.println(calendar.get(calendar.DAY_OF_YEAR));
System.out.println(calendar.get(calendar.YEAR));
while (true){
example();
}
}
public static void example(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要查询的年份:");
int year = sc.nextInt();
System.out.println("请输入您要查询的月份:");
int month=sc.nextInt();
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,year);
c.set(Calendar.MONTH,month);
c.set(Calendar.DATE,1);
c.add(Calendar.DATE,-1);
System.out.println(month+"月份的天数是"+c.get(Calendar.DATE));
}
}
Calendar设置时间和获取时间如上