java基础上(笔记)

变量

变量:程序运行过程中,其值可以发生改变的量。

变量由三部分组成:变量名、变量值、数据类型。 格式:数据类型 变量名=变量值;如:int a=10;(定义变量) 变量的使用:取值与修改值。 取值格式:变量名 修改格式:变量名=变量值;

注意事项:

不能定义已存在的变量; 不能使用未定义的变量; 整数默认最大值取int最大值,浮点取double,如果定义long类型 可以在值后面加L,如:long a=100000000000L; 定义float浮点型需防止不兼容:float f=12.34F;

 

类型转换分类

自动类型转换:

把一个表示数据范围小的数值或者变量赋值给另一个表示范围大的变量; 如:定义double d=10;则输出时d的值会给出10.0;

强制类型转换:(和资金挂钩一般不推荐,此时用String或大数BigDecima)

把一个表示数据范围大的数值或者变量赋值给另一个表示范围小的变量; 格式:目标数据类型 变量名=(目标数据类型)值或者变量; 如:int k= (int)88.88;输出k的结果为88,强制数据转换会丢失一部分数据; 不加(int)则不被称为强制类型转换,且会报错。

 

标识符

标识符:给类、变量、方法起名字的符号。

标识符定义规则: 由数字、字母、下划线、括号()、美元符组成; 不能以数字开头; 不能是关键字; 区分大小写;

常见命名约定:(小驼峰命名法)针对方法、变量。 1.标识符是一个单词的时候,首字母小写;如:name 2.由多个单词组成的时候,第一个单词首字母小写, 其余的首字母大写;如:firstName

(大驼峰命名法)针对类命名。 1.标识符是一个单词的时候,首字母大写;如:Name 2.由多个单词组成的时候,没个单词首字母大写;如:FirstName

 

常量

常量:在程序运行过程中,其值不可以发生改变的量。

分类: 1、字符串常量 用双引号""括起来的内容,如"ok" 2、整数常量 不带小数的数字,如 11,22,33 3、小数常量 带小数的数字,如 1.1,2.3,-1.1 4、字符常量 单引号''括起来的内容,如 'A','2','我' 5、布尔常量 布尔值,表示真假,只有:true,false 6、空常量 一个特殊的值,空值 ,值是:null

空常量不能直接输出。

 

关键字

关键字:被java语音赋予了特定含义的单词。

特点:字母全部小写,常用的代码编辑器,针对关键字有特殊的颜色标记

 

注释分类

注释分类

  1. 单行注释:格式 //注释信息

  2. 多行注释:格式 /*注释信息*/

  3. 文档注释:格式 /**注释信息*/

public class HelloWorld{        
/**java程序中最基本的组成部分是类,
类的定义格式:*/
       //这是我定义的类
public class 类名{};
/*这是main方法
main方法是程序的入口方法,代码的执行是从main方法开始*/
public static voic main(String[] args){
//这是输出语句,""里面的是输出内容
System.out.println("OK");
}
}

 

运算符

算术运算符

运算符:对常量和变量进行操作的符号。 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可称为表达式,不同运算符连接的的表达式体现是不同类型的表达式。

举例:int a=2;int b=3;int c=a+b; 其中+为算术运算符;a+b为表达式。

int d=b/a;结果为1,因为全部数据类型为整型int,若要想结果为小数则必须有浮点数参与。

字符串的+操作

当"+"操作中出现字符串时,这个"+"是字符串连接符而不是算术运算。 如:"hao"+666=hao666; 1+99+"年和气"=100年和气;

字符的+操作

字符在计算机底层对应的数值 字符'A'=65;字符'a'=97;字符'0'=48; 算术表达式中包含多个基本数据类型的时候,整个算术表达式的类型会自动进行提升。 提升规则: byte类型,short、char类型将被提升至int类型; 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型; 等级顺序:byte、short、char >>> int >>> long >>> float >>> double

 

自增自检运算符

参与操作时:

int i=10
int j=i++
System.out.println("i:"+i);
System.out.println("j:"+j);
//输出结果为i:11;j:10;

int i=10
int j=++i;
System.out.println("i:"+i);
System.out.println("j:"+j);
//输出结果为i:11;j:11;

 

三元运算符

格式:关系表达式?表达式1:表达式2; 范例:a>b?a:b; 计算规则:首先计算关系表达式的值; 如果为true,表达式1的值就为运算结果; 如果为false,表达式2的值就为运算结果;

int max=a>b?a:b;获取a,b中的较大值。

 

短路逻辑运算符

&& 短路与 有false则为false; || 短路或 有true则为true; 与&、|区别为: A&&B中,A为false;就不用判断B了;程序就不用执行A后面的了。 A||B中,A为true;就不用判断B了;程序就不用执行A后面的了。

 

 

 

 

 

流程控制

流程控制语句的分类: 1、顺序结构:从上往下,从前往后; 2、分支结构(if,switch); 3、循环结构(for,while,do...while);

 

if语句

if格式:

if(关系表达式){语句体;} if(关系表达式){语句体1;}else{语句体2;} if(关系表达式){语句体1;}else if{语句体2;} else if{语句体3;} else if{语句体4;} ...else{语句体end;}

无论if的关系表达式是否成立,都会继续执行之后的语句内容,if只决定了是否 执行语句体。

 

switch语句

格式:

switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; case 值3: 语句体3; break; ... default: 语句体n+1; [break;] }

case穿透:
  1. case穿透现象产生原因及现象: 执行完case之后没有遇到break,跳过接下来的case匹配,直接执行对应的语句体 直到遇到break或者到switch语句的}(结束)

  2. case穿透现象作用: 用来简化代码,当case匹配项不同但是执行的语句体是相同的

下面是case穿透的例子

Scanner sc = new Scanner(System.in);
System.out.println("请输入对应的月份:");

int month = sc.nextInt();
switch (month) {
   case 3:
   case 4:
   case 5:
       System.out.println("春天");
       break;
   case 6:
   case 7:
   case 8:
       System.out.println("夏天");
       break;
   case 9:
   case 10:
   case 11:
       System.out.println("秋天");
       break;
   case 12:
   case 1:
   case 2:
       System.out.println("冬天");
       break;
   default:
       System.out.println("您输入的月份有误");
}

 

循环

跳转控制语句

continue

continue在循环体中,基于条件控制,跳过循环体某次内容的执行,继续下一次的执行。

break

break在循环体中,基于条件控制,直接终止整个循环体内容的执行。

 

for循环

循环结构的组成:

初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去 循环体语句:用于表示循环反复执行的内容,简单说就是循环反复的事情 条件控制语句:用于表示循环执行中每次变换的内容,简单说就是控制循环是否能执行下去

循环结构对应的语法:

初始化语句:这里可以是一条或多条语句,这些语句可以完成一些初始化操作 条件判断语句:这里使用一个结果值为boolean类型,这个表达式能决定是否执行循环体。 循环体语句:这里可以是任意语句,这些语句将反复执行。 条件控制语句:这里通常是一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果,常见i++。

格式:

for(初始化语句;条件判断语句;条件控制语句){ 循环体语句; }

 

while循环

while语句基本格式:

while(条件判断语句){ 循环体语句; }

完整格式:

初始化语句; while(条件判断语句){ 循环体语句; 条件控制语句; }

do...while语句基本格式:

do{ 循环体语句; } while(条件判断语句);

do...while语句完整格式:

初始化语句: do{ 循环体语句; 条件控制语句; } while(条件判断语句);

案例:猜100以内的随机数

public class csz{
public static void main(String[] args){
Random r =new Random();
Scanner sc =new Scanner(System.in);
int a =r.nextInt(101);
do{
int b =sc.nextInt();
if(a==b){
System.out.println("a=b");
break;
}
if(a<b){System.out.println("a<b");}
if(a>b){System.out.println("a>b");}
}
while(true);
}
}

 

for和while的区别

for(int i=1;i<5;i++){循环体语句} 其中的i只属于for循环体结构,在整体并未定义。

int a=1;while(a<5){循环体语句;a++;} 这里面a已经定义了。

do...while语句和while差不多但会先执行一次do里面的循环体语句。

 

死循环: for(;;){循环体语句} while(true){循环体语句} do{循环体语句}while(true)

 

 

posted @ 2023-07-30 16:45  haohao2036  阅读(11)  评论(0编辑  收藏  举报