JAVA语言程序设计知识点

JAVA语言程序设计

预备:头格式:public class name {

            public static void main(String[] arge){}

}

输出 system.out.println();

System.out.println("hello");

一:基本数据类型

1整数

byte      byte a1 = 1;

int(默认)  int a = 10;

short     short a2 = 2;

long     long a4 = 123L;

定义long类型的变量,数据值后要加L或l作为后缀,建议使用大写

2浮点数

float      float f = 10F;

定义float类型变量时,数据值后加F为后缀

double(默认)double d = 12;

3字符

char    char c = '中'; 

4布尔

boolean  boolean o = true; 只有true和false

取值范围大小问题

double>float>long>int>short>byte

二:标识符

硬性要求:

1数字,字母,下划线_,美元$组成

2不以数字开头

3不是关键字

4区分大小写

软性要求(阿里巴巴编名方法):

一:小驼峰命名法:方法,变量

1 标识符是一个单词,全部小写 eg: name

2标识符由多个单词组成,第一个单词首字母小写,其余单词首字母大写  eg:firstName

二:大驼峰命名法:类名

1 标识符是一个单词,首字母大写  eg : Student

2 标识符由多个单词组成,每个单词首字母大写   

Eg :  GoodStudent

三: 见名知意

三:键盘录入

1 导包

import java.util.Scanner;必须在类定义上边

2创建对象

Scanner sc = new Scanner(System.in);

只有sc是变量可以变,其他不能变

3接收数据

int i = sc.nextInt();

只有i是变量名可变,其他不允许变

四:IDEA快捷用法

Java头快捷:psvm

输出sout

五:运算符和表达式

1算数运算符 :  +  -  *  /  % 有小数参与计算,可能不准确

除法:整数参与计算,结果只能是整数,小数参与,结果小数。

隐式转换(自动类型提升):把取值的转成的;

byte short char 三种数据类型在运算时,都直接提升到int,再进行运算   double>float>long>int>short>byte

强制转换:如把取值范围的数值赋值给取值范围的变量,是不允许的,需要强制类型转换。

格式:目标数据类型 变量名=(目标数据类型)被强制转的数据

double a = 12.3;

int b = (int)a;

“+”的操作中出现字符串,“+”是字符串连接符,将前后数据拼接,产生新的字符串 “123”+ 123 -> “123123”

连续进行时,从左到右逐个执行

1+99+“年老字号” -> “100年老字号” 1+99 没有字符串,正常加

2自增自减:

a++ 先用后加,后自增 ++a 先加后用,先自增

--

单独写一行没区别

3赋值运算符:

a+=b 即 a = a+b

+= -= *= /= %= 底层都隐藏了一个强制类型转换

==   !=   >   <   >=   <=  结果只有true false

4逻辑运算符:

& 逻辑与(且)  两边都为真,结果为真,相当于乘法

| 逻辑或        两边都为假,结果为假,相当于加法

^ 逻辑异或     相同为false,不同为true

! 逻辑非      取反

5 短路逻辑运算符:

&& 短路与 结果和&相同,但有短路效果

||  短路或 结果和|相同,但有短路效果

短路:前边可以判断整个运算是true还是false,后面就不运行

6三元运算符:

格式:关系表达式?表达式1:表达式2;

先计算关系表达式的值

真:执行表达式1 假:执行表达式2

输出方法:1把三元运算符的结果赋值给一个变量

2把三元运算符的结果直接打印

7运算符优先级

()优先于所有

六:流程控制语句

1 顺序结构

2分支结构:if switch

If格式: if (关系表达式){语句体;}

if (关系表达式){语句体1;

}else{

                语句体2;}

if (关系表达式){语句体1;

}else if{

语句体2;}else if{

语句体3;}else{

      语句体4;}

从上到下依次执行:

只要有一个判断为真,就执行对应语句体

如果所有判断都为假,就执行else语句

switch格式:

switch(表达式){

case 值1:

     语句体1;

     break;

case 值2:

     语句体2;

     break;

……

default:

      语句体n+1;

      break;

}

1:表达式取值为byte short int char。

2:case后面跟要和表达式比较的值

3:break表示中断,结束,用来结束switch语句

4:default表示所有情况不匹配,就执行该处内容

5:case后只能是自面量,不能是变量

6:case的值不能重复

Case穿透:没有break导致

首先拿小括号中的表达式的值跟下面每一个case进行匹配;

如果匹配上了,就执行对应语句体,如果此时发现break,结束整个switch语句;

如果没有发现break,程序会继续执行下一个case的语句体,一直遇到break或右大括号为止;

If和switch使用场景

If:一般对范围的判断

Switch:把有限个数据一一列举,让我们任选其一

循环:

1 for循环:

格式:for(int i = 0;i<10;i++){

         System.out.println(“hello world”);}

      While (条件判断语句){

循环体语句;

条件控制语句;}

七:数组

数组:指一种容器,可以存储同种类型的多个值(结合隐式转换)。

格式1: 数据类型 【】数组名

格式2: 数据类型 数组名【】

初始化:数据类型【】 数组名 = new 数据类型【】{元素1,…};

Int [] array = new int[]{11,22,33};

简写:数据类型【】 数组名 = {元素1,…};

直接打印数组名,出现的是地址

索引system.out.println(arr[1]);

一旦覆盖,原来的数值不存在了,只显示覆盖的值

遍历:利用for循环

长度属性:length

调用方式:数组名.length

格式:for(int i = 0;i<arr.length;i++){}

动态初始化

数据类型【】 数组名 = new 数据类型【数组的长度】;

在创建的时候,由自己指定数组的长度,由虚拟机给出默认的初始化值

数组默认初始化值:

整数型:0  小数类型:0.0  字符类型:‘/u0000’空格

布尔型:false  引用数据类型(string…):null

数组索引越界问题:

若长度是5的数组,最小索引:0 最大索引:4(长度减一)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值