JAVA基础学习汇总

现将最近所学知识进行整理如下:

Java基础知识

软件:一系列按照特定顺序组织的计算机数据和指令的集合。

程序:完成指定功能的一条指令。

计算机语言:用于人与计算机之间通讯的语言,由一段01的二进制代码所组成的语言。

机器语言:直接由电脑CPU进行执行。

汇编语言:又称为符号语言,如 MOV AXBX

高级语言:C语言做底层应用(结构化)

          面向对象的语言(C++JavaC#

JavaC++的进化版,比C++简单,应用范围广,前景广阔

JavaC#都是C++演变而来的,兄弟关系,也是竞争关系

语言出现的顺序是机器语言,汇编语言,结构化语言,面向对象语言

机器语言和汇编语言机器是低级语言,结构化语言和面向对象语言是高级语言

软件开发的流程:

程序设计的四个阶段

1、分析问题:确定问题是什么,软件需求是什么

2、确定数据结构和算法:确定存放数据的数据结构是什么?

解决问题的方法和步骤又是什么?

3、编制程序:开始编写代码来实现

4、调试问题

其中算法最重要(算法就是一个有穷规则的集合,其中规定了一个解决某一特定类型的问题的运算序列)

**算法泛指解决某一问题的方法和步骤**

 

java中有三种单词:关键字、保留字、标识符

关键字就是在语言中具有特殊含义,并不能被随意使用的单词。

保留字:保留字具有一定的含义,但不是关键字。只有三个:true/false/null

标识符:用户自定义单词,但需要按照规定书写。

java中具有11种数据类型:

简单数据类型(基本数据类型)和复杂数据类型(引用数据类)

简单数据类型中分为:1.整型  2.浮点型(实型)  3.字符型  4.布尔型

整型:就是整数。继续分为四种:1.字节型byte  2.短整型short  3.整型int(默认)  4.长整型long

浮点型:小数。继续分为两种:1.单精度型float  2.双精度型double(默认)

字符型:字符char  (a/b/c....)

布尔型:boolean   判断真假true/false

java中存储值的方式:1.变量  2.常量

变量:在程序运行过程中可能发生改变的量

变量的定义:数据类型  变量名称 =;例如:int x = 10;

变量的书写有两种方式:1.先声明后赋值  2.声明时即赋值

变量的第一次赋值被称为初始化。

1.先声明后赋值

int x;

x = 10;

2.声明时即赋值

int x = 10;

常量:在程序运行过程中不变的量。例如圆周率

常量的定义方式:final 数据类型 变量名称(全大写) =赋值;

例:final double PI = 3.14;

常量是不能改变的

字符型变量在定义时有两种方式:1.存储数值  2.存储字符

1.存储数值:在存储数值时会根据ASC码表找到对应的字符进行存储,如char h = 97; 输出的就是aA--65   a--97)

2.存储一个字符,在存储字符时,字符需要使用''括起来

char g = '';  输出是  哦

System.out.println(h+1); 输出的是98而不是b

如果非要将自动提升逆向运行--需要强行转换类型

在该数值前加上要转的类型即可

例:(char)--强转符号

System.out.println((char)(h+1));   输出的就是  b

int a = 10;

double b = 5.9;

System.out.println((int)(a+b));  会直接将小数值砍掉,而不是四舍五入

强转--会造成精度丢失的转换

自转--不会造成精度丢失的转换

java中字符的默认值均为Unicode

引用数据类型(复杂数据类型)

String--字符串类型

String str = "字符串1";

String str1 = "字符串2";

如果+运算符左右有一个是字符串,则不再进行加减,而是拼接

System.out.println(str+str1);//结果为拼接好的"字符串1字符串2"

前置、后置:都是在原有的数值上进行+1-1,并对变量进行重新赋值

前置有++a  --a

后置有a++  a--

前置和后置的区别

前置是在该表达式运行时就完成+1并重新赋值

后置是在该表达式运行完后再+1并重新赋值

三目运算符:  表达式1?表达式2:表达式3;

运算规律为:如果表达式1true则执行表达式2

 反之如果表达式1false,则执行表达式3

扩展赋值运算符

int z = 20;

z *= 2;    相当于z = z*2;

int x = 10;

x += 5;     x = x +5;

注意

double x = 1.2;

short s = 1;

s += x;//在扩展符中不写强转符号

System.out.println(s);   s=2

流程控制语句之条件语句分为:if语句+switch语句

if语句的结构

下述表达式是一个boolean

if(表达式){语句}

当上述表达式为true时,则执行{}中的语句,反之为false时不执行{}中的语句,{}之后面的语句,依然执行

有单分支if语句、双分支if语句、多分支if语句

switch语句的结构:

switch(选择){选择可以是表达式,可以是变量、常量等值

case 1:    case表示选项,选项和选择的数据类型一致即可,当然是常量

case 2:    一般情况下switch中会有多个case语句

default:   表示默认选项

 }

当传入选择时,会在case中找寻与选择值相同的选项进行运行,直到switch结束

break--表示结束当前switch语句或者当前循环

switch的小括号中可以是int型、byte型、short型、char型(String型、枚举型

final int X = 10;    符号常量  10被称为字面量

常量:1.字面量   2.符号常量

for循环的结构   

 for(表达式1;表达式2;表达式3) {

               语句 

     }
 表达式1:起始赋值

 表达式2:能够执行的依据

 表达式3:循环变量的变化情况(可以增加、也可能减小)

 三个表达式告知了循环的次数

 语句:重复的事情

 执行顺序是:表达式1→(表达式2→语句→表达式3→表达式2)  ()中才是每次循环都会执行的

while循环的结构:
表达式1
while(表达式2) {
语句
表达式3
}

do...while循环的结构
表达式1
do {
语句
表达式3
}while(表达式2);

数组--装相同数据类型,并且长度一定的连续内存片段
特点:1.数组的大小/长度固定不变   2.存放相同数据类型的数值   3.连续的内存空间
为了用数组中的数据,在每一个区域都起了一个标记--下标/索引--方便使用
下标从0开始直到数组的最大长度-1
数组的书写三种方式:
1.例:定义一个长度为5的int型数组      int[] a = new int[5];
int[]--数组数据类型   a是数组名称(标识符)   =  new int[5];   告诉数组的长度

如果要获得某一个数组的长度,则可以使用--数组名称.length

数组的定义方式2:如果在定义数组时就知道有哪些值,则使用第二种
例:在一个数组中存入1-10的数字
int[] a = {1,2,3,4,5,6,7,8,9,10};

第三种数组的定义方式:
例:在一个数组中存入1-10的数字
int[] a = new int[] {1,2,3,4,5,6,7,8,9,10};

随机数--Math.random()产生一个随机数   >=0&&<1 的小数

随机a-b的公式--(int)(Math.random()*(b-a+1)+a)

二维数组--当一维数组中的数据类型变为数组时:int[][] a = new int[行][列];

二维数组就是:存储一维数组的数组

二维数组的第二种书写形式:int[][] arr = {{1,2},{2,3},{1,2}};

二维数组的每一个元素的长度不一定都一样:如 int[][] a = {{1},{2,3},{1,1,1,1,1}};

      

 

你可能感兴趣的:(初学者)