java基础学习

Java的学习

标签(空格分隔):Java

    Java 源程序保存为 .java 文件,编译为 .class 文件。.class 文件由 Java 虚拟机 (JVM)执行0。

添加环境变量

1、下载安装JDK

2、打开安装的目录,找到目录bin打开(D:\Program Files\java\jdk\bin)

3、右键我的电脑,单击属性,单击高级系统设置,单击环境变量

4、下面的系统变量选择path编辑

5、新建将D:\Program Files\java\jdk\bin复制到然后保存


从控制台读取输入

import java.util.Scanner;
Scanner input = new Scanner(System.in);


语法 new Scanner(System.in)表明创建了一个Scanner类型的对象。语法Scanner input 声明input是一个Scanner类 型 的 变 量。整 行 的 Scanner input = new Scanner (System.in)表明创建了一个Scanner对象,并且将它的引用值陚值给变量 input。

final datatype CONSTANTNAME = value;

数值数据类型

(byte,short,int,long),(float,double)

整数直接量

0b,0B表示二进制整数直接量
0表示八进制整数直接量
0x,0X表示十六进制整数直接量

浮点型直接量

通过在数字后面加字母f,F表示该数为float型直接量
通过在数字后面加字母d,D表示该数为double型直接量
一个 float 值有 7 到 8 位小数位,一个 double 值有 15 到17 位小数位
科学计数法1.23456*10^-2 == 1.23456E(e)-2

为了提高可读性,Java允许在数值直接量的两个数字键使用下划线

long ssn = 22_2345_6789

下换线必须置于两个数字之间
在选择结构中,else总是匹配离它最近的if子句


下面的两个代码等价

if(number % 2 == 0)
    even = true;
eles
    even = false;
boolean even = number % 2 == 0;

逻辑或异^,条件的Boolean相同为false,不同为true。

java里面的switch和c里面一样语法为:

switch(switch表达式):{
    case 1:pass;
            braek;
    case 2:
    ……
    default:默认情况下执行的语句。

switch表达式必须能计算一个char、byte、short、int或者string型值,并且必须总是要用括号括住。

java里面的操作符的优先级

  • var++后置操作符
  • ++var前置操作符
  • (type)(类型装换
  • !非
    • / % 乘法除法
      • 加法减法
  • < <= > >=比较操作符
  • == != 相等操作符
  • ^或异
  • &&条件与
  • ||条件或
  • = += ……赋值操作符

查看一个变量的类型

public class NumberToString {
    public static void main(String[] agrs){
        int number = 100;
        String s = number + "";
        System.out.println(getType(s));
    }

    public static String getType(Object o){
        return o.getClass().toString();
    }
}

格式化输出

System.out.printf(format,item1,item2,……);

格式标识:%域宽度.精度转换码
常用的格式标识符

  • %b Boolean值
  • %c 字符
  • %d 十进制整数
  • %f 浮点数
  • %e 标准科学计数法形式的数
  • %s 字符串
    默认是右对齐,域宽前面添加负号转为左对齐

循环,while,do while,for循环语句和c语言相同,continue,break也相同。


方法

修饰符(public static) 返回值类型(void) 方法名(参数列表){
//方法体;
}
在参数列表中要对每一个参数进行独立的数据类型声明

方法重载

      在一个类中有两个方法,它们具有相同的名宇,但有不同 的参数列表。Java 编译器根据方法签名决定使用哪个方法。
有时调用一个方法时,会有两个或更多可能的匹配,但是,编译器无法判断哪个是最精确的匹配,这称为歧义调用,歧义调用会产生一个编译错误。

自顶向下的设计和自低向上的实现


一维数组

声明数组变量

elementType[] arrayRefVar;
//元素类型[] 数组引用变量;

不同于基本数据类型变量声明,声明一个数组变量时并不在内存中给数组分配任何空间,它只是创建一对数组的引用的存储位置。如果变量不包含对数组的引用,那么这个变量的值为null。除非数组已经创建,否则不能给它分配任何元素,声明数组变量之后,可以使用下面的语法用new操作符创建数组,并且将它的引用赋给一个变量。

arrayRfeVar = new elemrntType[arraySize];

声明一个数组、创建数组、任何将数组引用赋值给变量三个步骤合并一条语句。

elementType arrayRefVar[] = new elementType[arraySize];

数组初始化语法

elementType[] arrayRefVar = {value0,value1,……,valuek};
public class ArrayPrint {
    public static void main(String[] args){
        char[] city = {'D','a','c','z'};
        System.out.println(city);
    }
}
运行结果:Dacz

foreach循环

for(double e:myList){
    System.out.println(e);
}
//语法
for(elementType element: arrayRefVar){
    //process the element
}

数组的复制

  1. 使用循环语句逐个地复制数组的元素
  2. 使用System类中的静态方法arraycopy
  3. 使用clone方法复制数组

arraycopy(sourceArray, srcPos, targetArray, tarPos,length);
(原数组, 原数组的开始位置, 目标数组, 目标数组的开始位置, 拷贝个数)

可变长参数列表

 public static void printMax(double... numbers) ;

Arrays类

java.util.Arrays

  1. sort或者parallelSort方法对整个数组或部分数组进行排序
char[] chars = {'a','A','4','g','s'};
java.util.Arrays.sort(chars);
java.util.Arrays.sort(chars,1,4);//从chars[1]到chars[4-1]部分排序。

2.equals方法检测两个数组是否相等。返回Boolean值。
3.fill方法填充整个数组或部分数组

java.util.Arrays.fill(list1);
jaba.util.Arrays.fill(list1,1,7,100);//将100添冲到元素list1[1]到list1[7-1]中。就是替换

4.toSring方法来返回一个字符串,改字符串表示数组中所有元素。

public class ArraysFill {
    public static void main(String[] args){
        int[] list1 = {1,2,3,4};
        int[] list2 = {1,2,3,4,5,6};
        java.util.Arrays.fill(list1,5);
        java.util.Arrays.fill(list2,1,4,7);
        System.out.println(Arrays.toString(list1));
        System.out.println(Arrays.toString(list2));
    }
}
//[5, 5, 5, 5]
//[1, 7, 7, 7, 5, 6]
posted @ 2020-02-18 12:12  吃掉这颗薄荷糖  阅读(179)  评论(0)    收藏  举报