java语言基础与流程控制

一维数组定义:

1.声明

类型[]  数组名;

类型  数组名[];
eg:
    int[] score;
    String[] names;

2.初始化:声明的长度,数组的元素也可以确定

    2.1初始化的位置不同,分静态,动态初始化

    静态初始化:声明数级的同时初始化(开劈空间,一当初始化不能再改变数组的大小了)
        int[] arr = new int[5];
        int[] arr = new int[7]{10,20,30,50,40};
        int[] arr = {10,20,30,50,40};
        

    2.2动态初始化:声明和初始化分别进行


        数组名= new 类型[整数长度];


        
3.数组的使用


    1.下标:数组名[下标]
        整数(变量表示,常量表示)
        arr[n];//n必须是一个int类型的变量
        arr[1];//常量
        从0开始,结束是数组长度-1
    2.length,用于数组的长度(数组成员个数)
        int len = arr.length;
        System.out.println("数组arr的元素个数是:"+len);

案例1(数组)

package com.nf.ch02;
public class Demo3{
    public static void test1(){
        int[][] arr1 = new int[3][];
        int[][] arr2 = new int[3][4];
        int[][] arr3 = new int[][]{{1,2,3,8},{6,5,4}};
        int[][] arr4 = {{1,2,3},{6,5,4,7}};
        
        arr1[0] = new int[2];
        arr1[1] = new int[3];
        arr1[2] = new int[4];
        
        String[][] address = new String[3][];
        address[0] = new String[2];
        address[1] = new String[3];
        address[2] = new String[4];
        
        address[0][0] = new String("aaa");
        address[0][1] = "bbb";
        
        address[1][0] = "ccc";
        address[1][1] = "ddd";
        address[1][2] = "eee";
        
        address[2][0] = new String("fff");
        address[2][1] = new String("ggg");
        address[2][2] = new String("hhh");
        address[2][3] = new String("kkk");
        
        
        
        System.out.println("arr4数组的内容:");
        for(int[] arr : arr4){
            for(int ele : arr){
                System.out.print(ele+"\t");
            }
            System.out.println();
        }
        System.out.println("arr3数组的内容:");
        for(int[] arr : arr3){
            for(int ele : arr){
                System.out.print(ele+"\t");
            }
            System.out.println();
        }
        System.out.println("arr2数组的内容:");
        for(int[] arr : arr2){
            for(int ele : arr){
                System.out.print(ele+"\t");
            }
            System.out.println();
        }
        System.out.println("arr1数组的内容:");
        for(int[] arr : arr1){
            for(int ele : arr){
                System.out.print(ele+"\t");
            }
            System.out.println();
        }
        
        System.out.println("arr1数组的内容:");
        for(int i=0; i<arr1.length; i++){
            for(int j=0; j<arr1[i].length; j++){
                System.out.print(arr1[i][j]+"\t");
            }
            System.out.println();
        }
        
    }
    public static void test2(){
        //double n=NaN;
        String str=null;
        //System.out.println(n);
        System.out.println(str.length());
    }
    public static void test3(){
        int[][] arr = new int[9][];
        //初始化
        for(int i=0; i<9; i++){
            arr[i] = new int[i+1];
            for(int j=0;j<i+1; j++){
                if(j==0 || j==i)
                    arr[i][j]=1;
                else
                    arr[i][j] = arr[i-1][j]+arr[i-1][j-1];
            }
            
        }
        //显示
        for(int[] nums:arr){
            for(int ele : nums){
                System.out.print(ele+"\t");                    
            }
            System.out.println();
        }
        
    }
    public static void main(String[] args){
        test3();
    }
}

案例2

package com.nf.ch02;
import java.text.*;
import java.util.*;
public class Demo4{
    public static void test1(){
        String str = "1011";
        int num1 = Integer.parseInt(str);//当十进制解析
        int num2 = Integer.parseInt(str,2);//当二进制解析
        int num3 = Integer.parseInt(str,8);//当八进制解析
        int num4 = Integer.parseInt(str,16);//当十六进制解析
        
        System.out.println("十进制数1011的整数是:"+num1);
        System.out.println("二进制数1011的整数是:"+num2);
        System.out.println("八进制数1011的整数是:"+num3);
        System.out.println("十六进制数1011的整数是:"+num4);
    }
    
    public static void test2(){
        int num = 99;
        String num1 = Integer.toBinaryString(num);//二进制
        String num2 = Integer.toOctalString(num);//八进制
        String num3 = Integer.toHexString(num);//十六进制
        
        System.out.println("99的二进制数表示为:"+num1);
        System.out.println("99的八进制数表示为:"+num2);
        System.out.println("99的十六进制数表示为:"+num3);
    }
    //将一个小数始终保留两小数位输出
    public static void test3(double num){
        NumberFormat nf = new DecimalFormat("¥:#0.00");
        String rs = nf.format(num);
        System.out.println(num+":"+rs);
    }
    //日期与字符串
    public static void test4()  throws Exception{
        DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
        String dateStr = "2018/3/10";
        Date date = df.parse(dateStr);
    }
    
    public static void test5() throws Exception{
        Scanner input = new Scanner(System.in);
        System.out.print("请输入日期(yyyy-mm-dd):");
        String dateStr = input.next();
        
        //输入的日期字符串解析为日期对象
        DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
        Date date = df1.parse(dateStr);
        
        //将日期对象格式化为指定模式的字符串
        DateFormat df2 = new SimpleDateFormat("是今年的第D天,E");
        String rs = df2.format(date);
        
        System.out.println(rs);        
        
    }
    public static void main(String[] args)  throws Exception{
        test5();
        /*test3(10);
        test3(0.1245);
        test3(10.5);
        test3(10.12);
        test3(10.126F);
        test3(10.126);
        test3(10.121212);*/
    }
}

案例3

package com.nf.ch02;
import java.text.*;
import java.util.*;
public class Demo5{
    public static void test1(){
        int i=100;
        //将int类型的值包装到Integer类的对象中
        Integer i2 = new Integer(i);
        Integer i2_2 = Integer.valueOf(102);
        
        //将数字字符串类型的值包装到Integer类的对象中
        String str="100";        
        Integer i3 = new Integer(str);
        Integer i3_2 = Integer.valueOf(str);
        
        //将"F0F0"十六进制数字字符串的值包装到Integer对象中
        Integer i4 = Ineger.valueOf("F0F0",16);
        
        int n= i4.intValue();
        
        Integer num = 100;
        short s = num.shortValue();
        
        int num2 = 10;
        short s2 = (short)num2;
    }
        
    public static void main(String[] args)  throws Exception{
        
    }
}

 

String str = "123AF";
字符串转整数


    int n = Integer.parseInt(str);
    short n = Short.parseShort(str);
    long n = Long.parseLong(str);
字符串转小数
    float f = Float.parseFloat(str);
    double d = Double.parseDouble(str);

    
int num = 100;    
十进制整数转不同进制的字符串
String str2 = Integer.ToBinaryString(num);
String str8 = Integer.ToOctalString(num);
String str16 = Integer.ToHexString(num);

 

double num=10.5;

十进制浮点数转十六进制的字符串
String str = Double.ToHexString(num);
...     

有字符串"AF0F5"
1.按十六进制解析为一个long类型的值保存
2.按十六进制解析为一个Long类型的包装类型对象保存

有整数108
1.按十进制格式为字符串形式保存
2.按十进制包装到Ingeter对象中

有包装类的对象"98",Integer numObj = 98;
1.取出对应十进制数,保存到int类型的变量中
2.取出对应十进制数,以二进制形式保存到String类型的变量中

有日期字符串"2018-10-12",解析为一个日期对象并保存

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值