Java基础知识点

1.jdk

    1)jdk(java development kit):java开发工具

            jre(java runtime environment)

                jvm:虚拟的计算机

                    每个平台的jvm都识别一种规则

                    (.java)源文件----javac.exe(编译)

                    .class字节码----java.exe(运行)

                类库

        

    2)环境变量配置

        计算级->属性->高级系统设置->高级->环境变量

        然后就会出现下图所示画面:

        

        在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则"新建"。

        变量设置参数如下:

        变量名:JAVA_HOME

        变量值:C:\Program Files(x86)\.java\jdk1.8.0_91        //要根据自己的实际路径配置

        变量名:CLASSPATH

        变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;        //记得前面有个"."

        变量名:Path

        变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

        JAVA_HOME设置

        

        

        PATH设置

        

        CLASSPATH设置

       

    3)测试JDK是否安装成功

        命令提示符界面(win+r  -> cmd)

        输入命令:java-version、java、javac几个命令,出现以下信息,说明环境变量配置成功。

        

2.java数据类型

分两大类:基本数据类型和引用数据类型
    1).基本数据类型:8种
整数类型:byte,short,int,long
byte:计算机中最小的存储单位,1字节,8位, -2^7---2^7-1
short:2字节,16位 -2^15---2^15-1
int: 4字节,32位 -2^31---2^31-1

long 8字节 ,64位 -2^63---2^63-1 

        浮点数类型
float:4字节,32位
double:8字节,64位
字符类型
char 字符类型必须使用单引号,而且单引号有且只有一个。
布尔类型
boolean true/false
(1)精确度排序
int long float double
long>int>double>float
    2).引用数据类型:

所声明的变量里面存的不是具体数据,是其所在内存中经过计算所得的一个地址。

3.变量

    1).定义:在内存中开辟的一个存储空间,用于存储数据.

    2).用法:
想让jvm开辟一个变量
声明: 数据类型名 变量名;
Person a;--强类型语言
    3).变量的赋值(初始化):
赋值时数据的存储过程
使用变量则是数据的取得过程
(变量可以进行存取操作)
int num=5;//存
int count=6;//存
int p=num+count;//取
    4).变量名的命名规则:
变量名由字母,数字,_和$组成,但是数字不能开头
尽量做到见名知意,驼峰命名法
可以使用汉字,但是不建议使用、

不能使用关键字

4.运算符

    1).算数运算符
+,-,*,/,%,++,--
参与运算的变量,如果范围都小于int时,运算时转换成int类型运算,当参与运算的变量大于或等于int,运算时,转换成较大类型进行运算。
当参与触发运算的都是整数时,做取整运算;当参与触发运算的有浮点数类型时,做正常除法运算。
%取余运算:
做除法运算时,商m,余n
取余运算要n。
++,--:自增,自减运算符:
要与变量放在一块使用,自动+1或-1。
表达式:(++b) 分两部分 ++和b
口诀:
符号在前,先运算再赋值
符号在后,先赋值再运算
当++/--在前,变量先自增/自减,再把变量的值赋值给表
达式。

当++/--在后,先把变量的值赋值给表达式,然后变量再 自增或自减。

    2).逻辑运算符(短路运算符):
需要在关系运算的基础上, 与 &&, 或 ||, 非 !
与:全真为真,一假则假
或:一真为真,全假则假
非:非真即假,非假即真
与:第一个条件为false时,能确定真假。
或:第一个条件为true时。能确定真假,都不需要判断第二个条件。
&,|单个符号的两个条件都执行。
    3).三目运算符(三元运算符)
值的类型 a= 条件表达式?值1:值2
条件表达式成立,取a=值1,否则a=值2
reg:
int a=1;
int b=5;
int c=a>b?10:20;//c=20
    4).字面量: 整数字面量的类型是int

浮点数类型字面量的类型是double

5.

    1).类型转换:
自动转换:小类型的变量赋值给大类型的变量时。
强制转换:大类型的变量赋值给小类型的变量时。
    2).字符串类型String:
值必须使用""引起来;
空字符串:"";
String name = “xiaoming";
字符串拼接符号:+
当+前后,只要有一个是字符串类型,
就做拼接操作。拼接后结果是字符串类型
    3).数学类型:
Math.sqrt(a):对a开平方
Math.pow(a,3):求a的立方
Math.PI:圆周率

Math.random():会从[0,1)之间随机产生一个小数

    4).Scanner类的用法:
Scanner:浏览,扫描,键盘录入功能类型
(1)导包:import java.util.Scanner;
(2)创建控制台扫描对象
Scanner scan=new Scanner(Syetem.in);
(3)调用相应的功能:
int num=scan.nextInt(); 
//有程序阻塞效果,回车表示结束。
String str=scan.next()/nextLine();

//扫描的类型是字符串类型。

6.分支语句

    1)if语句

        (1)if(条件表达式){}else{}
(2)if(条件表达式){}
(3)f(条件1){}else if(条件2){}else if(条件3){}else{}

    当分支语句带else时,一定会这行一条分支。

    2) switch-case语句
格式:
switch(整数表达式){
case 整数1:------------;break;
case 整数2:------------;break;
------------------------------------------
default;
}
break:打断的意思,表示打断(结束)分支结构。
default:表示执行此分支后,结束分支结构。
所有的case都不满足时,执行default。
如果default不在最后面,相当于case。
    3) if语句和switch的区别
表达式:
if:条件表达式,效率低
switch:整数表达式,结果类型byte,short,int, char,效率高。

JDK1.7版本以上支持String类型。

7.循环语句

    循环三要素:
循环变量的声明和初始化
循环条件
循环变量的改变:向着循环结束而改变

重复执行的,叫循环体

    1) while循环

while(循环条件){ 
循环体
}
当程序执行到while时,一定会判断条件的真假,如果为true,执行循环体,执行完循环体之后,再判断条件,如果条件为false时,结束循环,执行后续代码。
当条件永远为true时,会出现死循环,尽量避免。
    2)do while
do{
循环体
}while(循环条件);
无论循环条件是否成立,都先执行一次循环体。
    3) for循环
for(循环变量的声明和初始化;循环条件;循环变量的改变){
循环体;
}
    4)foreach语句
for(元素变量x:遍历对象 obj){
引用了x的java语句;

}

8.数组

    一堆相同类型的数据的集合(引用类型)。

    1).数组的声明
数据类型名[]   变量名;
    2).数组的初始化
(1)静态初始化:直接复制
reg:
int[] a={1,2,3,4,5};
静态的变量不能再被赋值新的静态值。

(2)动态初始化:

                        ①

int[] a=new int[length];
会有length个默认值;
整型:0
浮点数:0.0
字符:'\u0000'
布尔类型:false
引用类型:null

int[] a=new int[]{1,2,3,4,5};
动态的变量也只能赋值为新的动态值。
    3).数组的元素:元素是指里面的数据
    4).数组的下标:元素的位置
从0到length-1
数组的长度(元素的个数):     int num=数组变量名.length;
    5).数组元素的访问(存取)

变量名[下标];

    6).数组的遍历(从头到尾全部查看)
    7). Arrays:数组工具类
Arrays.toString(变量名):
功能:把数组里的元素凭借成如下字符串:
    [元素1,元素2,......,元素n]
reg:
int[] a={1,2,3,4};
String s=Arrays.toString(a);
s=[1,2,3,4].
    8). jvm内存管理结构:
其中有两部分:
栈:存的是方法内部的局部变量
先进后出的特点
八大基本数据类型的值,如果是直接变量赋值,那么就直接存在变量中。
堆:存的是引用类型的数据(对象)
    9).数组之间的变量的赋值
址传递:引用变量之间的赋值。
值传递:基本数据类型变量之间的赋值。
    10).数组的复制:
指的是堆里的对象进行复制。
数组对象一经确定,就不能再被改变长度。
(1)系统数组复制法:
System.arraycopy(p1,p2,p3,p4,p5);
p1:源数组,表示你要复制的数组
p2:从源数组开始复制元素的下标
p3:目标数组,表示要复制到的哪个数组
p4:表示目标数组从哪个下标开始进行
p5:表示要复制的长度
(2)数组的扩容、缩容
Arrays.copyOf(p1,p2);
p1:源数组,要复制的那个数组

p2:表示扩容或者是缩容到多少长度

    11).数组的排序
冒泡排序:
两个紧挨着的元素进行比较,如果前面的大于后面的,应该进行交换,然后拿后面的较大,再与紧挨着的下一 个去比较。
    12).二维数组:可以看成是一个数组的元素依然是一个数组。
int[][] arr=new int[][];
arr[0]=new int[5];
arr[1]=new int[3];
arr[2]=new int[]{1,2,3,4};
arr={{0,0,0,0,0},{0,0,0},{1,2,3,4}};

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值