奇迹969

 

Java基础

 

 

 

 

 

 

java中有三种方式向控制台输入信息,分别是print,printf,println,现在简单介绍一下他们之间的异同。

  • printf主要是继承了C语言的printf的一些特性,可以进行格式化输出
  • print就是一般的标准输出,但是不换行
  • println和print基本没什么差别,就是最后会换行

 

class 类     Demo名字(javac 运行后  生成以此为名称.class文件) (驼峰式)  

public static void main(String[] args)  主函数固定写法   只有需要类运行时才需要主函数 不需要类运行可以不写主函数   一个类只能有一个主函数
/**   作者   版本    */文档注释
//这是第一个小程序 (单行注释) /* */多行注释   
一个文件可以写多个类   运行后生成  多个  .class文件

/**
作者:张三
版本:V1.0
这个类是用于演示hello world。
*/

class Demo //这是我的第一个java小程序,//很爽!
{
/*
main函数可以保证该的独立运行。
它是程序的入口。
它会被JVM所调用。
*/
public static void main(String[] args)
{
  System.out.println("hello java")   //System  S要大写
  System.out.println("hello world");

  }
}

/*

思路:
1,
2,

步骤:
1,通过class关键字定义一个类。将代码都编写到该类中。
2,为了保证该的独立运行。在类中定义个主函数。格式public static void main(String[] args)
3,保存成一个扩展名为java的文件。
4,在dos控制台中通过javac工具对java文件进行编译。
5,在通过java命令对生成的class文件进行执行。
*/

 




 

 


注意 字符单引号 字符串双引号

 


 

 

 

 


 

 

注意 

long  = 4l

小数默认为double   float = 2.3f    后面的f是设置为float 单精度 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

循环

 

 

 

 

 

 

 

 

 

 

 

 函数

 

 

 

 

 

 

 

 

 

 

 

 数组

 

 

 

 

 

 

 

 

 

 

 

选择排序(先找最小(大)值  换位(最值位和当前位) 下一位依次循环 )
public
class SelectionSort implements IArraySort { @Override public int[] sort(int[] sourceArray) throws Exception { int[] arr = Arrays.copyOf(sourceArray, sourceArray.length); // 总共要经过 N-1 轮比较 for (int i = 0; i < arr.length - 1; i++) { int min = i; // 每轮需要比较的次数 N-i for (int j = i + 1; j < arr.length; j++) { if (arr[j] < arr[min]) { // 记录目前能找到的最小值元素的下标 min = j; } } // 将找到的最小值和i位置所在的值进行交换 if (i != min) { int tmp = arr[i]; arr[i] = arr[min]; arr[min] = tmp; } } return arr; } }


冒泡排序(相邻的两个元素比较 最大(小)的移动到最后一位)
public class BubbleSort implements IArraySort {

    @Override
    public int[] sort(int[] sourceArray) throws Exception {
        // 对 arr 进行拷贝,不改变参数内容
        int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);

        for (int i = 1; i < arr.length; i++) {
            // 设定一个标记,若为true,则表示此次循环没有进行交换,也就是待排序列已经有序,排序已经完成。
            boolean flag = true;

            for (int j = 0; j < arr.length - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int tmp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = tmp;

                    flag = false;
                }
            }

            if (flag) {
                break;
            }
        }
        return arr;
    }
}

 

 进制转换

class ArrayTest7 
{
    public static void main(String[] args) 
    {
        //toBin(-6);
        //toHex(-60);
        //toBa(60);

//        System.out.println(Integer.toBinaryString(6));
//        System.out.println(Integer.toHexString(6));
    }

    /*
    十进制-->二进制
    */
    public static void toBin(int num)
    {
        trans(num,1,1);
    }

    /*
    十进制-->八进制
    */
    public static void toBa(int num)
    {
        trans(num,7,3);
    }
    /*
    十进制-->十六进制
    */
    public static void toHex(int num)
    {
        trans(num,15,4);
    }

    public static void trans(int num,int base,int offset)
    {

        if(num==0)
        {
            System.out.println(0);
            return ;
        }
        char[] chs = {'0','1','2','3'
                    ,'4','5','6','7'
                    ,'8','9','A','B'
                    ,'C','D','E','F'};
        char[] arr = new char[32];

        int pos = arr.length;

        while(num!=0)
        {
            int temp = num & base;
            arr[--pos] = chs[temp];
            num = num >>> offset;
        }

        for(int x=pos; x<arr.length; x++)
        {
            System.out.print(arr[x]);
        }

        return ;
    }
}

 

 

 

 

 

 

 

注意事项 :short  byte  char  运算时都会转为int类型       byte只要运算就会提升为int  类型           byte a=1,b=2,c;  c=(byte)(a+b);

      char    类型是单引号   String  类型用双引号   

     'a'+2  和"a"+2的区别       'a'+2=98   "a"+2=a2

     

 

 

 

 

 

for 循环    可以直接跳出外循环

 

 

 

 

    重载函数     可以写多个同名函数        不是重载函数 不可以写同名函数

 

 

 f不重载是因为  函数返回值不同,不知道是返回void   还是  double      

(重载只看参数是否一致即可)

 


 数组初始化    int  arr1[]=new int[5];       arr1[]     初始化里面都是0

 

 

 

 

 

 

 

 

 自动转化     byte  和  short    不能转化成char      

 

强制类型转化    上图反过来     浮点型转int 不会四舍五入

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 查找数组元素

 

 反转

 

 

 

 

 

评委打分 

 

 

 

 

 

 

 

 

 

主函数

 

 

 

posted on 2020-05-25 07:55  奇迹969  阅读(110)  评论(0编辑  收藏  举报

导航