java笔记

** 命名规范:**首字母大写,后面每个单词首字母大写(大驼峰)HelloWrold

变量名规范:首字母小写,后面每个单词首字母大写(小驼峰)helloWorld

方法变量名规范:同变量名

 

常量:在程序运行期间,固定不变的量

常量分类

  • 字符串常量:凡是用双引号引起来的部分,叫做字符串常量 例如:“abc” "hello"

  • 整数常量:直接写上的数字,没有小数点 例如:100,2000,0,-250

  • 浮点型常量:直接写上的数字,有小数点 例如:2.5

  • 字符常量:凡是用单引号引起的单个字符,就是字符常量 例如:’A‘ ' B' '中' ’9‘ 不能为空,有且只有一个字符

  • 布尔常量:只有量中取值 true和false

  • 空常量:null,代表没有任何数据

基本数据类型

  1. 整数 byte short int long -----------默认interesting,使用龙加后缀L

  2. 浮点数 float double --------默认double,使用float加后缀F

  3. 字符 char

  4. 布尔 boolean

引用数据类型:**类,数组,端口

 

变量:程序运行期间,内容可以发生改变的量

创建一个变量 : 变量类型 变量名称 =数据值

  • 变量名称=数据值;

day02

A 65

a 97

使用变量时候 的注意事项:

  1. 如果创建多个变量,变量名称不能重复

  2. 对于float和long类型,加字母后缀F,L

  3. 如果使用byte和short变量,右侧数据值不能超过左侧类型的范围

  4. 作用域:定义变量的第一行开始,到直接所属的大括号结束为止

 public class HelloWorld{
 public static void main (String[] args){
 {int num6=10
 System.out.println(num6);
 }
 //System.out.println(num6);超出大括号范围,变量不能使用
 }
 }
创建变量:
 //同时创建三个int 变量,各自赋值
 int a,b,c;
 a=1;
 b=2;
 c=4;
 //同时创建三个int变量,并且同时各自赋值
 int x=1,y=2,c=3;
 System.out.println(a);
 System.out.println(b);
 System.out.println(c);

数据类型转换

 System.out.ptintln(1024);//这就是一个整数,默认int类型
 System.out.ptintln(2.3);//这就是一个浮点数,默认就是double类型

当数据类型不一样时,就会发生数据类型转换。

自动类型转换(隐式)
  1. 特点:代码不需要特殊处理,自动完成。

  2. 规则:数据范围从小到大

 

 //左边long右边int
 //int--->long,符合了数据范围从小到大的要求
 //发生自动转换
 long num1=100
 System.out.println(num1);
 
 //左边double右边float
 //float--->double,符合从小到大的规则
 //发生了自动类型转换
 double num2=2.5F;
 System.out.println(num2);
 
 //long--->float,范围更大的是float,符合从小大大的规则
 //发生自动转换
 float num3=20L
 System.out.println(num3);
强制类型转换(显式)

特点:需要进行特殊的格式处理,不能自动化完成 格式:范围小的类型 范围小的变量名 =(范围小的类型)原本范围大的数据

注意事项:
  1. 强制类型转换一般不推荐使用,可能有精度损失,数据溢出

  2. byte/short/char着三种类型都可以发生属性运算,例如加法'+'

  3. byte/short/char着三种类型在运算的时候,都会被首先提升成为int类型,然后计算

  4. Boolean不能发生转换

 //long-->int,不是从小到大
 int num=(int)100L;
 System.out.println(num);
 
 //long强制转化为int类型
 int num=(int)600000000000L;
 System.out,println(num);//数据溢出
 
 double--->int,强制类型转换
 int num3=(int)3.99;
 System.out.println(num3);//3,不是四舍五入,所有的小数位都会被舍弃掉
 
 
 char zifu1='A';//这是一个字符型变量,里面写的是大写字母'A'
 Syste.out.println(zifu1+1);//66,也就是大写字母A被当作65处理
 //char类型运行了数学运算,就hi按一定的规则翻译为数字
 
 
 byte num4=40
 byte num5=50
     //byte+byte---->int+int---->int
 int result1=num4+num5;
 System.out.println(result1);//90
 
 
 //btye+short----->int+int------->int
 short num6=60;
 //int强制转换为short:必须保证逻辑上真实大小本来就没有超过收人头范围,否则会发生数据溢出
 short result2=(short)(num4+num6);
 
day03

运算符

1.算数运算符

加减乘除:+ — * /

加号'+'的三种用法:

  1. 对于数值来说,计算之前,char会被提升为int,然后计算

  2. char类型字符,和itn类型数字,之间的对照关系表:ASCLL,UNicde

  3. 对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作。

 String str="java";
 System.out.println(str2+20+30);//java2030
 System.out.println(str2+(20+30));//java50

自加自减

可以单独使用也可以混合使用
  • ++num:先++,变量马上加1,然后打印结果,先加后用

  • num++:先使用变量,然后再让变量+1,先用后加

    2.复制运算符

注意事项:

  • 只有变量可以赋值,常量不可以 //50=20是不可以的

  • 复合赋值运算符其中隐含了一个强制类型转换

 byte num=30;
 //num=byte+int
 //num=int+int
 //num=(byte)int
 num+=5
     System.out.println(num);

3.比较运算符

如果进行多次判断,不能连着写

4.逻辑运算符

  • 与(并且)&& 全都是true才是true:否则就是false

  • 或(或者)|| 至少一个是true,才是true:全部是false才是false

  • 非(取反)! 本来是true,变成false:本来是false,变成true

&&,|| ,具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码不在执行

三元运算符

  1. 一元:只要一个数据就可以进行操作的运算符 例如:取反!,自增,自减

  2. 二元:需要两个数据才可以进行操作的运算符 例如:加法,赋值

  3. 三元:要三个数据才可以进行操作的运算符

格式:

数据类型 变量名称 =条件判断?表达式A:表达式B;

如果是true将表达式A赋值给左侧变量

如果是false将表达式B赋值给左侧变量

 int a=20;
 int b=10;
 //数据类型   变量名称 =条件判断?表达式A:表达式B;
 int max=a>b?a:b;
注意事项:

必须同时保证表达式A和B都符合左侧数据类型的要求

三元运算符的结果必须被使用

 int result=3>4?2.5:20;//错误写法,变量类型不同
 System.out.println(a>b?a:b);//正确写法,直接输出

定义方法

定义方法的格式:

public static void 方法名称(){

方法体 }

方法名称的命名规则和变量一样,使用小驼峰。

方法体:也就是大括号当中可以包含任意条语句。

方法定义注意事项:
  1. 方法定义的先后顺序无所谓。

  2. 方法的定义不能产生嵌套包含关系。

  3. 方法定义好了之后,不会执行,如果想执行,一定要进行方法的调用。

方法调用的格式:
 public class Demo(){
 public static void main(String[] args){
     cook();//调用
 }
 //定义方法
 public static void cook(){
 System.out.println("xicai");
 System.out.println("qiecai");
 }
 }

 

对于byte/short/char/三种类型来说如果右侧赋值的数值没有超过范围,那么Javac编译器将会自动为我们补上一个(byte)(short)(char)

如果在给变量赋值的时候,右侧的表达式全都是常量,没有变量,那么编译器javac将hi直接将若干个常量表达式计算得到结果。

short result=13;//右侧的常量数值没有超过左侧的范围,所以正确。

判断语句1---if

if语句第一中格式:if

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

第二种格式:if....elsed

 if(关系表达式){
 语句体1;
 }else{
 语句体2;
 }
 int num=13;
 if(num%2==0){
     System.out.println("偶数")
 }
 else{
     System.out.println("基数")
 }
 if(关系表达式){
 语句体1;
 }else if(判断语句2){
 语句体2;
 }else if(判断语句n){
  语句体n;
 }  

第三章 选择语句

3.1选择语句---switch

格式

 switch(表达式){
         case1常量值:
             语句体1;
             break;
         case2常量值2:
             语句体2;
             break;
        .....
         default:
             语句体n;
              break;
 }
 int num=1;
 switch(num){
  case 1:
  System.out.println("星期一");
  break;
  case 2:
  System.out.println("星期二");
  break;
  case 2:
  System.out.println("星期三");
  break;
  case 3:
      System.out.println("四");
      break;
  defualt:
      System.out.println("数据不合理");
      break;
 }

switch使用注意事项:

1.多个case后面的值不可以重复;

2.switch后面小括号但当中只能是下列数据类型:

 

基本数据类型:byte/short/char/int

引用数据类型:String字符串,enum枚举

 
day04

第四章循环语句

循环的结构分为资格部分:
  1. 初始化语句:在循环开始最初执行,而且只做唯一一次。

  2. 条件判断:如果成立,则循环继续;如果不成立,则退出循环

  3. 循环体:重复要做的事情内容,若干行语句。

  4. 步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。

for循环
 for(int i=1;i<=100;i++){
     System.out.println("你好")
 }
while循环语句

标准格式

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

扩展格式

 初始化语句;
 while(条件判断){
 循环体;
 步进语句;
 }
 
 int i;
 while(i<=10){
     System.out.println("你好")
         i++
 }
do-while循环

标准格式

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

扩展格式

 do{
 循环体;
 步进表达式;
 }while(布尔表达式)
三种循环的区别
  • 如果条件判断从来没有满足过,那么for循环和while循环执行0此,但是do-while循环至少会执行一次

  • for循环的变量在小括号当中定义,只有循环内部才能使用

break关键字:

  • 可以用在switch语句中,一旦执行,整个switch语句立刻结束

  • 还可以用在循环语句中,一旦执行,整个循环语句立即执行

凡是次数确定的场景多用for循环;否则多用while循环;

另一种循环控制语序continue关键字

一旦执行立刻跳过当前循环剩余内容,马上开始下一次循环

idea常用快捷键

ALT+Enter 导入包,自动修正代码
Ctr+y 删除光标所在行
Ctrl+D 复制光标所在行内容
Ctrl+ALT+L 格式化代码
ctrl+/ 单行注释,再按取消注释

定义方法的完整格式:

修饰符 返回值类型 方法名称(参数类型 参数名称,.......){

方法体 ;

return 返回值;}

  • 修饰符:现阶段的固定写法public static

  • 返回类型值:也就是方法最终产生的数据结果是什么类型

  • 参数类型:进入方法的数据是什么类型

  • 参数名称:进入方法的数据对应的变量名称

  • PS:参数如果有多个,使用逗号分隔

  • 方法体:方法需要做的事情,若干行代码

  • return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处

  • 返回值:也就是方法执行后最终产生的数据结果

  • 注意:return后的返回值必须和方法名称前面的返回值类型保持对应

定义一个两个int数字相加的方法。三要素:

  1. 返回值类型:int

  2. 方法名称:sum

  3. 参数列表:int a , int b

 sum(a:10,b:20)//单独调用
 System.out.prntln(sum(10,20))//打印调用
     int number=sum(15,25,);//赋值打印
     System.out.println("变量的值:"+number);//赋值打印
 public static int sum(int a;int b){
     int result=a+b;//方法体
     return result;//返回值
 }
方法的三种调用方法:
  1. 单独调用:方法名称(参数);

  2. 打印调用:System.out.println(方法名称(参数));

  3. 赋值调用:数据类型 变量名称=方法名称(参数);

 

 

对比有参数和无参数

  • 有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的额时候,就是有参

  • 无参数:小括号当中留空。一个方法不需要任何数据条件,自己能独立完成任务,就是午餐。

对比有返回值和无返回值

有返回值:带着返回值返回 ----可以使用单独调用,打印调用,赋值调用

无返回值:什么都不带 ------只能使用单独调用

 {//有返回值的调用
     int num=getsum(10,20);//赋值调用
     System.out.getsum(num);//赋值调用
     System.out.println(getsum(2,3))//打印调用
     getsum(3,5)//直接调用
 
 //无返回值
   int num2=printSum(10,20)//错误
   printSum(10,20)//单独调用
 
 }
 //定义一个方法,负责两个数字相加,返回值int,谁调用就给谁结果,三种调用方法都可以用
 public static int getsum(int a,int b){
 int result=a+b;
 return result;
 }
 //没有返回值,不会把结果告诉任何人,
 //而是自己打印输出,只能用单独调用
 public static void printSum(int a,int b){
     int result=a+b;
     System.out.println("结果是"+result);
 }

 

 

重载(Overload)

方法重载的基本使用方法

方法重载:多个方法的名称相同,但是参数列表不一样。

好处:只需要记住一个方法名称,就可以实现类似的多功能

 //调用
 System.out.println(sum(10,20));
 System.out.println(sum(10,20,30))
 //定义方法
 public ststic int sum(int a,int b){
 System.out.println("有两个的参数方法执行")
 return a+b;
 }
 
 public ststic int sum(int a,int b,int c){
 System.out.println("有三个的参数方法执行")
 return a+b;
 }

相关因素:

  • 参数个数不同

  • 参数类型不同

  • 参数的多类型顺序不同

元素无关:

  • 与参数的名称无关

  • 与方法的返回值类型无关

 

day05

 

第四章循环语句

循环的结构分为资格部分:
  1. 初始化语句:在循环开始最初执行,而且只做唯一一次。

  2. 条件判断:如果成立,则循环继续;如果不成立,则退出循环

  3. 循环体:重复要做的事情内容,若干行语句。

  4. 步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。

for循环
 for(int i=1;i<=100;i++){
     System.out.println("你好")
 }
while循环语句

标准格式

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

扩展格式

 初始化语句;
 while(条件判断){
 循环体;
 步进语句;
 }
 
 int i;
 while(i<=10){
     System.out.println("你好")
         i++
 }
do-while循环

标准格式

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

扩展格式

 do{
 循环体;
 步进表达式;
 }while(布尔表达式)
三种循环的区别
  • 如果条件判断从来没有满足过,那么for循环和while循环执行0此,但是do-while循环至少会执行一次

  • for循环的变量在小括号当中定义,只有循环内部才能使用

break关键字:

  • 可以用在switch语句中,一旦执行,整个switch语句立刻结束

  • 还可以用在循环语句中,一旦执行,整个循环语句立即执行

凡是次数确定的场景多用for循环;否则多用while循环;

另一种循环控制语序continue关键字

一旦执行立刻跳过当前循环剩余内容,马上开始下一次循环

idea常用快捷键

ALT+Enter 导入包,自动修正代码
Ctr+y 删除光标所在行
Ctrl+D 复制光标所在行内容
Ctrl+ALT+L 格式化代码
ctrl+/ 单行注释,再按取消注释

定义方法的完整格式:

修饰符 返回值类型 方法名称(参数类型 参数名称,.......){

方法体 ;

return 返回值;}

  • 修饰符:现阶段的固定写法public static

  • 返回类型值:也就是方法最终产生的数据结果是什么类型

  • 参数类型:进入方法的数据是什么类型

  • 参数名称:进入方法的数据对应的变量名称

  • PS:参数如果有多个,使用逗号分隔

  • 方法体:方法需要做的事情,若干行代码

  • return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处

  • 返回值:也就是方法执行后最终产生的数据结果

  • 注意:return后的返回值必须和方法名称前面的返回值类型保持对应

定义一个两个int数字相加的方法。三要素:

  1. 返回值类型:int

  2. 方法名称:sum

  3. 参数列表:int a , int b

 sum(a:10,b:20)//单独调用
 System.out.prntln(sum(10,20))//打印调用
     int number=sum(15,25,);//赋值打印
     System.out.println("变量的值:"+number);//赋值打印
 public static int sum(int a;int b){
     int result=a+b;//方法体
     return result;//返回值
 }
方法的三种调用方法:
  1. 单独调用:方法名称(参数);

  2. 打印调用:System.out.println(方法名称(参数));

  3. 赋值调用:数据类型 变量名称=方法名称(参数);

 

 

对比有参数和无参数

  • 有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的额时候,就是有参

  • 无参数:小括号当中留空。一个方法不需要任何数据条件,自己能独立完成任务,就是午餐。

对比有返回值和无返回值

有返回值:带着返回值返回 ----可以使用单独调用,打印调用,赋值调用

无返回值:什么都不带 ------只能使用单独调用

 {//有返回值的调用
     int num=getsum(10,20);//赋值调用
     System.out.getsum(num);//赋值调用
     System.out.println(getsum(2,3))//打印调用
     getsum(3,5)//直接调用
 
 //无返回值
   int num2=printSum(10,20)//错误
   printSum(10,20)//单独调用
 
 }
 //定义一个方法,负责两个数字相加,返回值int,谁调用就给谁结果,三种调用方法都可以用
 public static int getsum(int a,int b){
 int result=a+b;
 return result;
 }
 //没有返回值,不会把结果告诉任何人,
 //而是自己打印输出,只能用单独调用
 public static void printSum(int a,int b){
     int result=a+b;
     System.out.println("结果是"+result);
 }

 

 

重载(Overload)

方法重载的基本使用方法

方法重载:多个方法的名称相同,但是参数列表不一样。

好处:只需要记住一个方法名称,就可以实现类似的多功能

 //调用
 System.out.println(sum(10,20));
 System.out.println(sum(10,20,30))
 //定义方法
 public ststic int sum(int a,int b){
 System.out.println("有两个的参数方法执行")
 return a+b;
 }
 
 public ststic int sum(int a,int b,int c){
 System.out.println("有三个的参数方法执行")
 return a+b;
 }

相关因素:

  • 参数个数不同

  • 参数类型不同

  • 参数的多类型顺序不同

元素无关:

  • 与参数的名称无关

  • 与方法的返回值类型无关

发表评论

相关文章