java基础知识,jdk-数组

一、java基础知识

1、java的由来。

java是由Sun公司在1995年发布的,开发设计者是詹姆斯高斯林和他的团队。衍生自c++,在这之前被称为Oak(橡树)。

2、java的环境配置:JDK、JRE、JVM。(三者的关系JDK>JRE>JVM,所以在安装时,只安装JDK即可)

JDK:(java development kit)java开发工具包,是给开发人员使用的。

环境变量的配置:计算机-->属性-->高级系统设置-->高级-->环境变量-->系统变量-->path,双击path,在值得最后先添加";",然后添加jdk的命令所在的路径。

JRE:(java runtime environment)java运行环境

JVM:java虚拟机,一个虚拟的计算机,具有命令集并且具有管理内存区域的功能。可以执行命令,管理数据,内存,寄存器。java语言的特点,一次编译,到处运行,就是因为每个OS都有其相应的JVM。

验证JDK是否安装成功,在命令提示符中运行java,javac。查看安装JDK的版本,输入java -version即可。

3、在文件中编写一个java小程序

3.1编写步骤。

①编写.java源文件public class HelloWorld{ }----class后面的名字必须与源文件的名字一致,而且首字母必须大写。{ }里写main()方法,在main()的{ }里写输出语句System.out.println();
    ②编译,将.java文件编译成.class文件,在命令提示符中运行:javac 文件名.java
   ③运行,在jvm上运行.class文件,在命令提示符中运行:java 文件名

3.2注释。
   ①单行注释:   //
   ②多行注释:   /*    */
   ③文档注释:   /**   */  一般给类和方法注释
    3.3编写类文件需要注意的地方。
   ①文件名首字母一定要大写,扩展名为.java
   ②类名一定要与文件名相同,class关键字前的修饰词为public
   ③如果当前文件为程序启动文件,那么类里面一定要有程序的入口(main方法)
public static void main(String[] args){
}
     3.4输出语句:System.out.println();
     3.5运行程序:
   ①编译:使用javac.exe把.java文件编译成.class文件
     reg: javac  Demo01.java
   ②运行:使用java.exe运行.class文件
     reg: java  Demo01

二、java基本数据类型

1、八大基本数据类型(占用字节数)

整数类型:byte(1)-128~127、short(2)-32768~32767、int(4)、long(8)

浮点数类型:float(4)、double(8)

字符类型(无符号整数类型):char(2)0~65535

布尔类型:boolean(1)

类型转换:

①自动转换:从小类型到大类型赋值,会自动转换
   byte->short(char)->int->long->float->double
   ②强制转换:从大类型到小类型赋值,需要强制转换
   格式:小类型名  变量名 = (小类型名)大类型变量名

2、引用数据类型

三、变量。

1、概念:在内存中开辟的一个存储空间,用来存储数据。

2、变量名的命名规则:

①由字母,数字,下划线和$组成,但是数字不能开头

②见名知意,驼峰命名法,不建议使用汉字
③不能使用java中的关键字
3、变量的使用规则:
①在使用之前必须先声明和初始化
   int  age = 1;
②变量可以被重复赋值,必须是同一个类型

③在一个作用域中,变量名不可以重复声明

四、运算符。

1、字符串拼接符号:

+。值的特点:  是用双引号引起来的。

2、算数运算符:

+,-,*,/,%,++,--。在运算时,当参与运算的变量里,类型不同时,运算结果是大类型。

++:自增运算,当运算符在变量前/后时,先自增后赋值/先赋值后自增。

--:自减运算,当运算符在变量前/后时,先自减后赋值/先赋值后自减。

3、关系运算符:>,>=,<,<=,==,!=。

4、逻辑运算符:&& & 或|| | 非!。

规则:与运算:一假则假,全真为真。或运算:一真则真,全假为假。非运算:非真即徦,非假即真。

& | 单个符号的与或运算:前后两个条件都进行判断。
&& ||,又叫短路运算符,当第一个条件就能确定整个结果时,不判断第二个条件。

5、赋值运算符:=,+=,-=,*=,/=,%=。

6、三目运算符(三元运算符):格式:   boolean表达式? 值1:值2;
翻译:如果条件成立,结果为值1,否则,结果为值2。值1和值2必须是同一类型。

五、程序运行结构。(顺序结构、分支结构、循环结构)

1、分支结构:有if和switch两种。

①if语句:if(boolean表达式){
  逻辑块//表达式的结果为true时,执行逻辑块
       }
       if(boolean表达式){
  //表达式的结果为true时,执行
       }else{
  //表达式的结果为false时,执行    

       }-----两条分支,必走其中一条

       if(boolean表达式){
  //表达式的结果为true时,执行
       }else if(boolean表达式){
  //表达式的结果为true时,执行
       }else if(boolean表达式){
  //表达式的结果为true时,执行
       }else{
  
       }

②switch语句
 格式:
 switch(整数表达式){
case 值1:---------;
case 值2:---------;break;
……………………………………
default:--------;

 }

break; 打断,毁掉的意思,break可以打断循环结构,执行循环结构后面的代码。

continue:结束本次循环,执行下一次循环。

整数表达式:结果类型只能是 byte short char int。

2、循环结构:当重复执行一些相同的代码逻辑或者相似的代码逻辑时,就需要使用循环结构。

循环三要素:①循环变量的初始化;②循环条件;③循环变量的改变----变量向着循环结束的方向改变。

① while循环结构
 while(boolean表达式){
要循环执行的内容
 }

②do{
 循环体

 }while(boolean表达式);

while与do-while的区别:
 do-while:会先执行一次循环体,然后判断条件,
 while:先判断条件,当条件为true时,执行循环体

③for循环
 for(循环变量的声明和初始化;循环条件;循环变量的改变){
循环体
 }

while和do-while适合不知道次数的循环
for循环适合知道次数的循环

六、数组

1、概念:一组相同类型的数据

2、数组的声明和初始化:

①静态初始化:int[]  arr = {1,2,3,4,5};

②动态初始化:int[]  arr1 = new int[5];//{0,0,0,0,0}
          int[]  arr2 = new int[]{1,2,3,4,5};

整型数组:默认值0
浮点数类型:默认值0.9
字符类型:默认值'\u0000'
boolean类型:默认值false
引用类型:  默认值null

元素:就是数组中存的数据
  长度:创建出来的数组长度都是固定的,不可变
        变量名.length;

3、元素的访问:元素:就是数组中存的数据
  长度:创建出来的数组长度都是固定的,不可变
        变量名.length;

4、数组工具类型:Arrays。

导包:import java.util.Arrays;

Arrays.toString(数组变量名);作用:将数组的元素变成字符串"["+元素1+","+元素2+","+…………+元素n+"]"。

数组之间的赋值:
不会产生的新的数据
而是指向同一个数据。
  如果改变其中一个数组的元素
  那么另外一个变量也改变

5、数组的排序:

①简单排序:


②冒泡排序:

 

③插入排序:

 

6、jvm管理的内存:
 其中两块堆,栈:
  栈:存储的是方法中的变量
      包括参数,以及内部的临时变量
  堆:存储的是引用类型的值(实际上是对象)

7、数组的复制
     System.arraycopy(p1,p2,p3,p4,p5);
 p1:要复制谁,--源数组
 p2:从源数组的哪个下标开始复制
 p3:复制到哪个数组---目标数组
 p4:目标数组从哪个下标开始

 p5:复制源数组元素的长度

 系统复制方法:
 System.arraycopy(p1,p2,p3,p4,p5);
 p1:表示源数组
 p2:表示从源数组的哪个下标开始
 p3:表示目标数组
 p4:表示从目标数组的哪个下标开始
 p5:表示复制源数组的元素个数

8、数组的扩容

Arrays.copyOf(p1,p2);
p1:源数组,
p2:扩容后的长度
会得到一个新的数组


猜你喜欢

转载自blog.csdn.net/mine_cun/article/details/79942680