Java的基础语法

Java的基本语法

一. 变量

1.变量:在程序的执行过程中,其值发生改变的量

  变量的三要素: 1)数据类型 2)变量名  3)初始化值

 

2.整数类型

整数类型(默认为int类型)

占用字节数

Int

4

byte

2

short

8

long

1

定义long类型的变量:

由于整数类型默认是int类型 ,所有在long类型变量值后面加上一个标记:L或者l ,建议使用L

int i = 1000000000000000000 ;       

long i = 100000000000000000L ;      

3. 浮点类型

浮点类型(默认为double类型)

占用字节

float单精度

4

double双精度

8

浮点类型默认是double类型,float类型加标记:F或者f,建议使用F

    float f = 12.34F ;

 

4.字符.布尔类型

字符类型:char      占用字节:2

布尔类型:boolean   占用子杰:1     在实际应用过程中,用来判断(流程控制语句)

 

5.定义变量的注意事项

定义变量的注意事项:

 1)定义变量,不能是Java中的关键字

 2)不能是以数字开头,Java严格区分大小写

 3)一个变量名不能重复定义

 4)建议:一行定义一个变量

 

6.强制类型转化

关于变量中的一些问题:

 a.在进行变量计算的时候  :尽量同一个的数据类型之间进行换算

 b.不同类型之间的数据:数据类型的默认提示

 c.byte,short,char 三个之间相互不转换的,但是一旦参与运算,都默认转换转换成int类型

 强制类型转换:

 格式:目标数据类型   变量名 = (目标数据类型)(变量值);

byte a = 3 ;   byte--->int类型  从1字节--默认转换4个字节int类型

※强制类型转换(强制类型不建议使用,会损失精度,根据需求)

7. 字符串拼接符号

       字符串+(字符串拼接符)任何数据=字符串    

   +:不仅指的是运算符,还可以去当做字符串拼接符号去使用!

 

二. 常量

常量:在程序的执行过程中,其值不发生改变的量

 常用的分类:

 A 字面值常量

  a:字符串常量 : 用双引号括起来的内容  "hello"

b:字符常量: 用单引号括起来的单个内容  'A','a','0'  ,

c:整数常量   100

d:小数常量   3.1415926

e:布尔常量:   true(false)

f:空常量   null (在讲面向对象的时候,如果一个对象为null,那么一定要给对象进行非空判断)

 

三. Java的标识符

1.给类,接口,方法,(package)等起名字的字符序列

 标识符的组成规则:

   1)英文的字母大小写

   2)数字字符

   3)$_

2.注意事项:

   1)不能以数字字符开头

   2) 针对包(目录)名命名的规则: 字母全部都小写

    单级包: westos

    多级包:org   westos   makename

3.,接口命名的规则:

    单个单词:第一个字母大写

   举例:class Demo  

    多个单词:每个单词的首字母都大写

    举例:class HelloWorld

4.给方法命名的规则:

   单个单词:字母全部都系小写   比如:main()

   多个单词:一个单词全部小写,从第二个单词每个单词首字母大写 比如:checkUserName()   

 5.给常量命名的规则:

   单个单词:字母全部大写   HELLO

   多个单词:字母全部大写,每个单词用下划线隔开   HELLO_WORLD

 

四. 比较运算符

比较运算符:>,>=,<,<=,==

注意事项:

1. == 不能写成=

2. ==它表示的是:两个值或者表达式是否相等

五. 赋值运算符

赋值运算符:

基本的赋值运算符:=

举例: int a = 10 ;  10赋值给int类型的变量a

扩展的赋值运算符: +=,-=,*=,/=,%=

     例子:y += 10 ;     把右边的数据赋值给左边,然后在和左边的数据求和

 

六. 键盘录入

1.导包 :快速导包   eg:   import java.util.Scanner;

 键盘录入的步骤:

1)创建一个键盘录入对象

   Scanner scanner = new Scanner(System.in) ;  

2)由于java.lang.* 包不是不用导包的,但是Scanner它是java.util.Scanner

   导包: import java.util.Scanner;

3)接收键盘录入的数据(int类型为例)

   int number = sc.nextInt() ;  nextXXX() ;

4)输出数据

 

七. 流程控制语句

1. if语句

选择结构语句之if语句(三种书写方式)

 if语句的注意事项:

   1)if语句中的大括号,可以省略,但是不建议省略

   2)有大括号的地方不能有分号,有分号的地方不能有大括号!

   3)这种格式的if语句,适合单个条件的判断

 

A.第一种格式:   if(条件表达式){  

   语句;

          }

执行流程:如果表达式成立,那么执行语句,否则,不执行

应用场景:适合单个条件的判断

 

B.if第二种格式:

  if(条件表达式){   条件表达式:无论是简单的表达式还是复杂的表达式  值都是boolean类型

   语句1;

  }else{

   语句2;

  }

执行流程

判断条件表达式是否成立,成立,就执行语句1;

如果不成立,就执行语句2;

 

 

if语句的第三种格式:

if(条件表达式1){

语句1;

}else if(条件表达式2){

语句2;

}else if(..){

语句3;

}else{

语句n+1;

}

执行流程:

 先判断条件表达式1是否成立,成立,则执行语句1

  不成立,判断条件表达式2是否成立,

  成立,执行语句2

  ...

  如果都不成立,最终执行else中的语句

 

八. 逻辑运算符

基本逻辑运算符

   &:逻辑与   |:逻辑或   ^(逻辑异或)  !(逻辑非)

结论:

逻辑&: false,false

逻辑或|:true,true

逻辑异或:^:相同则为false,不同则为true  简单记:(男女关系) 男男  男女  女男  女女

逻辑非!:truefalse,false,true,偶数个是他本身

 

 扩展的逻辑运算符:逻辑双与:&&    逻辑双或:||

 面试题:  逻辑双与&& 和逻辑单与&的区别?

a:共同点:效果是一样的

b:逻辑双与&& ,如果左边的表达式如果是false,那么右边不执行(具有短路效果)

      逻辑双|| :如果左边的表达式是true,那么右边不执行(具有短路效果)

 ※ 实际开发中:逻辑双与&& 用的是最多的!

 

九. 三木运算符

三目运算符:三元运算符

语法:

   (表达式)? true的结果:false的结果;

             表达式:  举例:  (x>y)  , (100>150)

执行流程:

  首先判断表达式是否成立,如果比表达式成立,就执行true的结果,否则,false的结果;

 

十. 算数运算符

1.Java中的基本运算符

基本算术运算符:+,-,*,/,%()

 注意事项:/:取的是整数    %:取余数

2.扩展的算术运算符:++或者--

单独使用:

  结论:无论++或者--再数据前还是数据后,都是自增1或者自减1

参与运算使用:

  结论: 如果++或者--再数据的前面,先自增或者自减,再参与运算

        如果++或者--再数据的后面,先运算,再进行自增或者自减

在实际开发中,++在后用的多(比如:流程空语句 for循环语句 步长语句变量名++)

3.关于+的用法

   +:可以作为运算符   

+ :表示一个数是正整数

  + :可以作为字符串的拼接符

 

Java中的循环语句

一. switch语句

1.switch语句的格式

             witch(表达式){

               case 1:

                   语句1;

             break ;

               case 2:

                   语句2;

             break;

               case 3:

                   语句3;

             break;

              ...................

             default:

             语句n+1;

             break;

  执行流程:

     case语句中的值1和表达式中的值比较,如果一致,执行语句1

     如果不一致,case 2,再进行比较,如果椅子,执行语句2

     如果上述都不一致,执行default中的语句

       

 格式的解释:

switch:当前是一个选择结构语句,它的作用和if语句是一样

  case语句:它后面的值是和表达式进行比较

  break:表示结束当前switch语句

    default:是和if语句中的else意识时候一样的,如果条件都不成立,执行default中的语句

    switch语句后面的表达式:能跟的类型:byte,short,int,char

         jdk5以后,可以跟枚举 jdk7以后,可以String类型

 

关于switch语句中的注意事项:

    1)case语句的后面只能跟常量(根据具体的需求),不能跟变量!    javascript中的case后面是可以跟变量并且还可以表达式

    2)default语句可以在switch语句中的任何位置,不影响代码执行,如果是在语句中,那么break最好带上

   3)建议把break带上,否则会造成一个现象:case穿透!

   4)switch语句的结束条件:

  A.语句break语句结束

B.执行默认执行到末尾语句结束

   5)case语句的后面是冒号,表示和switch语句中的表达式进行比较

   6)跳转控制语句: break,continue,retrun

 

2. for语句

循环语句之for循环语句

  for(初始化语句;条件语句;步长语句){

   循环体语句;

}

执行流程:

   a初始化语句:给当前变量进行赋值,如果满足条件语句,那么执行循环体语句

    b执行步长语句,对变量进行自增或自减---->在对条件语句进行判断,如果满足条件,再执  行循环体

    c直到不满足条件为止,循环语句结束...

 

循环语句的注意事项:

   1)条件语句,不管是一个简单的表达式还是复杂的表达式,都是boolean类型

   2)初始化语句,和条件表语句后面都要带上分号;

 

二. while语句

循环语句之while循环

 基本格式:

    while(条件表达式){

    循环语句体;

         }

 扩展格式:(优于基本格式)

      初始化语句 ;

      while(条件表达式){

      循环体语句;

     步长语句;

          }

 

执行流程:

A.初始化语句对变量进行赋值,如果满足条件表达式,那么执行循环体语句,执行步长语句  继续判断是否满足条件

B.满足条件,继续执行循环体语句,步长语句

C.当满足不足条件为止结束

while循环和for循环的区别:

   1)如果从内存角度考虑,for循环要优于while循环,for循环语句执行完毕之后,变量会及时被GC垃圾回收期回收掉,while循环,它可以去访问循环语句中的变量

   2)根据具体需求具体分析,

   如果循环次数明确的情况下,应用for循环  

   如果不知道要循环多少次,应该去使用while循环

 

三. dowhile语句

1.基本格式

   do{

   循环体语句

     }whiel(判断条件语句) ;

 扩展格式:

   初始化语句;

   do{

   循环体语句;

   控制体语句;

    }while(条件判断语句) ;

2循环结构语句

   for循环,while循环,do-while循环,他们之间的区别?

   do-while和前两者之间最大的区别:

   循环体语句至少执行一次

实际开发:优先考虑 for循环,其次while循环,最后,do-while

 

四. Break,continue,retrun使用方法

跳转控制语句:

  break:表示中断,结束的意思,结束语句;

  break:不能单独使用,一般在switch语句,或者循环语句中使用

  continue:继续的意思,跳出当前循环,直接进入一次循环

  continue:单独是不能使用的,在循环语句中使用多

  跳转控制语句:retrun:方法的返回值 ,会带回一个结果

Java的方法调用

一. 方法调用基本格式:

 完成特定功能的代码块

 方法的格式:

   public static  返回值 方法名(参数类型1 变量1,参数类型2 变量2){

   return ...

   }

 .方法格式的解释:

  A. public static:方法是静态的,并且是公共的方法  (今天写方法,public static)

  B.返回值(数据类型): 根据具体的需求,返回什么类型,用什么样的数据类型结束

  C.方法名:给当前代码块起名字,命名规则:单个单词:字母全小写 多个单词:第一个单词全   部小写,第二个单词开始每个单词首字母大写

  D.return: 将当前代码的计算的结果,返回给调用者

有返回值类型的方法:

  需求:计算两个数据的和

.方法调用:

    1)单独调用

    单独调用,没有意义,没有输出结果

    2)输出调用

    直接输出了结果,写死了,不能对结果进行操作

    3)赋值调用 :有返回值类型的方法,推荐使用赋值调用,它可以结果进一步操作

    int result = sum(a,b) ;

.定义一个方法的注意事项:

   1)方法和方法是平级关系,一个方法中不能再定义个方法

   2)定义一个方法 时候,形式参数必须有数据类型,否则有问题

   3)在主main(),调用方法的时候,实际参数中不需要带数据类型的

   4)有大括号的地方,不能有分号,有分号的地方不能有大括号

.Java中定义方法的格式

   public static 返回值  方法名(形式参数列表){

   return  ;

   }

当前需求中,形状是直接输出在控制台的,没有具体的返回值,但是又要符合方法规范,--->关键字:void替代语法中 返回值

.命名规则:起名字-->见名知意

  Java就给提供一个专业名词:给多个方法起同一个名字,还不报错---->方法重载          (面向对象:继承中讲方法重写)

 方法重载:指的是方法名相同,参数不同,返回值没有关系

 参数不同:

1)参数个数不同

2)参数类型不同

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值