欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java基础知识点,Java基础知识

来源: javaer 分享于  点击 42515 次 点评:162

Java基础知识点,Java基础知识


背景

Java 1995诞生sum -> oracle(2009)
核心基础Java SE--面向对象,API,JVM
              Java EE -- JSP,EJB,服务
              Java ME -- 移动设备,游戏,通信

jvm(java virtual machine)
源文件.java  ->  comoiler(编译器)  ->  字节码文件.class  ->  interpreter(解释器)  ->  my program
新鲜的鱼 -> 菜刀处理 -> 鱼块 -> 锅烹饪 -> 红烧鱼

JDK(java development kit)Java开发工具包
JRE(java runtime environment)Java运行时环境

JDK > JRE >JVM 

java中关键字

常用的关键字(严格区分大小写):

abstract boolean break byte case catch char class
continue default do double else extends false final
finally float for if implements import instanceof int
interface long native new null package private protected
public return short static super switch synchronized this
throw throws transient true try void volatile while

标识符

用于给java程序中变量、类、方法等命名的符号
标识符可以由字母、数字、下划线、美元符组成,不可以包含其他特殊字符,不能数字开头,不能是关键字,严格区分大小写,要有很好的语义化

变量

java中通过三元素描述变量:变量类型、变量名、变量值

String love = "bert";

优秀的变量命名规范
驼峰命名法:第一个单词首字母小写,其后单词首字母大写

数据类型

变量的存储讲究"分门别类"
java语言是一种强类型语言,在编译时就需要确定变量的类型,一共有两种数据类型:基本数据类型&引用数据类型
基本数据类型(存储的是数据的本身):整数型(byte,short,int,long)浮点型(float,double)字符型(char)布尔型(boolean)
引用数据类型(存储数据的空间地址):类(class)接口(interface)数组

变量的使用规则

  • 先申明再使用
  • 申明变量时可以一并初始化,也可以后赋值
  • 变量中每次只能赋一个值,但可以多次修改
  • main方法中的变量输出前必须先赋值

自动类型转换

不同的基本数据类型之间可以相互转换,但这是需要一定条件的。
目标类型和源类型兼容,double兼容int,char不兼容int。
目标类型大于源类型,这比较的是类型长度,double类型的变量就可以存放int类型的数据
常用的数据类型长度

强制类型转换

将double类型变量值赋给int类型变量

double num1 = 99.9;
int num2 = (int)num1;
System.out.println(num2); //99

强制类型转换可能会导致数据的丢失。

常量

常量在程序运行时不允许被更改,常量名使用大写字符。

java获取用户输入的值

使用Scanner工具类来获取输入的值
Scanner类位于java.util包中,使用时需要导入此包
步骤:

数组 

java中操作数组只需四个步骤:
1 申明数组
  数据类型[] 数组名;
  数据类型 数组名[];

int[] scores;    //存储学生成绩的数组,类型为整型
double height[]; //存储学生身高的数组,类型为浮点型
String[] names; //存储学生姓名的数组,类型为字符串

2 分配空间
  指定数组中最多可存储多少个元素。

 scores = new int[5];
  height = new double[5];
  names = new String[5];

1,2合并 声明同时分配空间 

int[] scores = new int[5];

3 赋值
 分配空间之后就可以在其中存放数据了。

scores[0]=100;
scores[1]=99;

4 处理数组中的数据

System.out.println("score数组中第九个元素的值:"+scores[8]);

java中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成。

int[] scores = {100,99,98,97,96};

等价于:

int[] scores = new int[]{100,99,98,97,96};

这里new之后的[]必须为空,不能指定长度。

Arrays类操作java中数组

Arrays类由java.util包中提供,这个类包含了一些方法用来直接操作数组。
Arrays中常用的方法:
1 排序
Arrays.sort(数组名);
可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列)。

前提是需要import java.util.Arrays;

2 将数组转换为字符串
Arrays.toString(数组名);

import java.util.Arrays;
public class Test{
    public static void main(String[] args){
        // 定义一个字符串数组
        String[] hobbies = { "sports", "game", "movie" };
        // 使用Arrays类的sort()方法对数组进行排序
        Arrays.sort(hobbies);
        // 使用Arrays类的toString()方法将数组转换为字符串并输出
        System.out.println(Arrays.toString(hobbies));
    }
}

foreach操作数组

foreach不是java中关键字,只是for语句的特殊简化版本。
语法:
for(元素类型 元素变量:遍历对象){
    执行的代码;
}

举个栗子

public class Test{
    public static void main(String[] args){
        int[] nums={1,2,3};
        System.out.println("***使用for循环遍历数组***");
        for(int i=0; i<nums.length; i++){
            System.out.println(nums[i]);
        }
        System.out.println("***使用foreach循环遍历数组***");
        for(int number:nums){
            ystem.out.println(number);
        }
    }
}

二维数组

操作二维数组步骤:
1 声明数组并分配空间
数据类型[][] 数组名 = new 数据类型[行的个数][列的个数];
or
数据类型[][] 数组名;
数组名 = new 数据类型[行的个数][列的个数];
2 赋值
数组名[行的索引][列的索引] = 值;
也可以声明数组的同时为其赋值。
数据类型[][] 数组名 = {{值11,值12,...},{值21,值22,...},{值31,值32,...}...};
3 处理二维数组
在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。

int[][] nums = {{1,2,3},{4,5,6}};
for(int i=0; i<nums.length; i++){
    for(int i=0; j<nums[i].length; j++){
        System.out.println(nums[i][j]);
    }
}

Java中的方法

所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。
一般情况下,定义一个方法的语法:

访问修饰符 返回值类型 方法名(参数列表){
        方法体;
}

其中
1 访问修饰符
方法允许被访问的权限范围,可以是public、protected、private甚至省略,
2 返回值类型
如果方法不返回任何值,则返回值类型指定为void;如果方法具有返回值,则需要指定返回值类型,并在方法体中使用return语句返回值。
3 方法名
定义的方法的名字,必须使用合法的标识符
4 参数列表
传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开 

方法的使用分两步

第一步:定义方法
譬如,定义一个没有参数没有返回值的方法

public void showMessage(){
    System.out.print("hardworking");
}

第二步:调用方法
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名();

public static void main(String[] args){
    personInfo bert = new personInfo();
    bert.showMessage();
}
public void showMessage(){
    System.out.print("hardworking");
}

没有参数有返回值的方法

public int calsSum(){
    int a=5;
    int b=12;
    int sum=a+b;
    return sum;
}

在calsSum方法中,返回值类型为int类型,因此在方法体中必须使用return返回一个整数值。调用带返回值的方法时需要注意:由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。

public class HelloWorld{
    public static void main(String[] args){
        HelloWorld hello = new HelloWorld();
        int sum =hello.calsSum();
        System.out.print("两数之和:"+sum);
    }
    public int calsSum(){
        int a=5;
        int b=12;
        int sum=a+b;
        return sum;
    }
}

有参数无返回值的方法

public class avgScore{
    public static void main(String[] args){
        avgScore hello = new avgScore();
        hello.calcAvg(94, 81);
    }
    public void calcAvg(double score1,double score2){
        System.out.println("avgScore is "+(score1+score2)/2);
    }
}

可见,输出在方法中

带参数带返回值的方法

import java.util.Arrays;

public class HelloWorld {
    public static void main(String[] args) {
        HelloWorld hello = new HelloWorld();
        int[] scores={79,52,98,81};
        int count= hello.sort(scores);
        System.out.println("gongyou"+count+"gescoreInformation");
    }

    public int sort( int[] scores ){
        Arrays.sort(scores);
        System.out.println(Arrays.toString(scores));
        return scores.length;
    }
}

方法的重载

定义
如果同一个类中包含了两个或两个以上方法名相同,但是方法参数的个数、顺序或类型不同的方法,称为方法的重载。

如何区分调用的是哪个重载方法呢?
当调用被重载的方法时,Java会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。

判断方法重载的依据:

相关文章

    暂无相关文章
相关栏目:

用户点评