Win下学Java(二)

编程入门 行业动态 更新时间:2024-10-04 21:29:28

<a href=https://www.elefans.com/category/jswz/34/1760571.html style=Win下学Java(二)"/>

Win下学Java(二)

Win下学习Java(二)

疑问与回答

1.什么是变量?

  • 变量是内存中的一个区域,该区域有自己的名称(变量名)和数据类型,该区域的数据可以在统一类型范围内不断变化。变量是通过变量名来访问这块区域的。

2.变量是如何分类的?

  • 变量既然是区域就可以 按被声明的位置划分:局部变量,全局变量。(注意:类对应的大括号外面不能有变量的声明) 1)成员变量:定义在类的内部,方法的外部; 2)局部变量:定义在方法的内部。

  • 按数据类型分类 对每一种数据都定义了具体的数据类型,在内存中分配了不同大小的内存空间。

  • (1)基本数据类型:8种

    整数型:

    byte 、short 、 int 、 long 
    复制代码

    注意: 在long型变量的值末尾需要加上"L"或"l", L的作用就是告诉虚拟机这是一个long型的数值 如果不加,也没问题,是因为做了自动类型转换。

    2)浮点:

    float、double
    复制代码
      注意:在float型变量的值末尾必须加上"F"或"f",如果不加报错或者做强制类型转换。
    复制代码

    3)字符:

    char
    复制代码
      一个字符占两个字节,java中的任何字符都是字符。一个字符必须用''(单引号)修饰。如果一个字符用双引号修饰,则表示的是一个字符串而不是字符。
    复制代码

    4)布尔:

    boolean
    复制代码
      布尔类型的值只有两个:true,false,注意没有null
    复制代码
  • (2)引用数据类型:类、接口、数组、枚举等等

3.什么是数据类型转换?

  • (1)自动类型转换:当不同数据类型的变量之间进行运算时,会发生数据类型的自动转换。

    char、byte、short==>int==>long==>float==>double**
    复制代码

    注意:

      1)对于一个整数常量来说,默认是int型2)对于一个浮点数常量来说,默认是double型3)当小的数据类型与大的数据类型数据做运算时,小的数据类型会自动转换为大的数据类型。
    复制代码

    注意:

      1)long和float运算时会转成float。2)当字符与int进行运算时,将自动转换为int型,字符型对应的二进制参考ASCII码表3)当char、byte和short之间进行运算时,运算结果将自动转换为int型。
    复制代码
  • (2)强制类型转换: 当需要将大的数据类型数据转换成小的数据类型数据时,需要使用强制类型转换符“(目标数据类型)待转数据”

4.Java中当引号和双引号有何区别?

单引号表示字符,双引号表示字符串
eg:'a'+1==97(字符a的ASCII码为97)"a"+1==a1
(Java字符串和数字做运算会把数字转换为字符串再做连接运算,结果为字符串.
eg:System.out.println("5+5="+5+5);	//打印结果为5+5=55
)复制代码

笔记

1.运算符

  • 逻辑运算符

&& / || 短路与/短路或:如果左边为真,右边会参与运算,如果左边为假,那么右边不参与运算。

异或(^)与或(|)的不同之处在于:当左右都为True时,结果为false.(异或追求的是异)

! 表示逻辑非。

& 逻辑与:无论左边表达式结果是什么,右边的都要执行。

  • 位运算符

<< 左移

>> 表示带符号右移

>>> 表示无符号右移

~ 表示取反位运算符。

  • 三目(元)运算符

表达式:

运算结果的类型 变量 = 布尔类型的表达式?表达式1:表达式2
复制代码

三目运算符,根据布尔表达式的值来选择,如果值为true,则选择表达式1,即将表达式1的值赋给变量;如果值是false,则选择表达式2。

注意:表达式1和表达式2的类型必须相同。

  • 其他
++ / -- : 作用是让变脸自增自减一
1) 前++:++在变量之前,变量先自增1,再参与运算。
2) 后++:++在变量之后,先参与运算,再自增1.
-- 同理。
复制代码

在Java中不可以写成3<x<6;应该写成x>3&x<6不能写m>=q>=n,应该写成m>=q&q>=n。

2.运算符的优先级

  • 只有单目运算符,三目运算符,赋值运算符是从右向左运算的。

优先级判断栗子

  • YouXianJi.java
public class YouXianJi {public static void main(String[] args) {int x = 2;int y = 3;int res = (x++)*2+(++x)/4+y;System.out.println("x="+x+",y="+y+",res="+res);}
}
复制代码
  • 运行截图

  • 运行顺序判断
//int res = (x++)*2+(++x)/4+y;
/*
// First x=2;
//Then (x++), Now:    x==3;    (x++) == 2;     (x++)*2 == 4;
//And Then (++x), Now: x===>3+1==4;    (++x) == 4;    (++x)/4 == 1;
//res = 4 + 1 +3 ==8;
*/	
复制代码

更多推荐

Win下学Java(二)

本文发布于:2024-02-28 02:14:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1767339.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Win   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!