zoukankan      html  css  js  c++  java
  • Java入门基础(变量、操作符与表达式)

     Java入门基础

    1、 第一个程序

    2、变量(命名、运算、整数/小数/字符串、布尔类型)

    3、操作符与表达式(算术/逻辑/关系/赋值/自增/类型转换操作符)

    HelloWorld!

    public class HelloWorld
    {
    
    public static void main(String[] args)
    {
    // TODO Auto-generated method stub
    System.out.println("Hello,World");
    }

    1、变量

    定义:“可以变化的量”。

    命名规则:数字、字母和下划线组成;不能以数字开头;大写字母与小写字母代表不同的变量名称。

    变量组成要素:类型,名称,值

    2、变量的表示方法:

    类型有 整数(int)、小数(double)、字符串(String),注意此处的S是大写;布尔值(boolean)等~

    //整数(int)、小数(double)、字符串(String)
            int a = 256;
            int b = -256;//可以表示为负数
            
    //使用double表示小数
    double c = 123.456;
    double d = -349; //相当于-349.0
            
    //String表示字符串
    String name = "旺哈哈";
    String name1 = "康师傅";

     3、变量的基本运算

    - 加法:使用 +

    -减法:使用 -

    -乘法:使用 *

    -除法:使用 /

    -取模:使用%,求余

    e.g.1

    int b1 = 123;
    int b2 = b1 + 10;
    int b3 = (b1+b2)*999;
    System.out.println("b3等于:" + b3);

    e.g.2

    System.out.println("乘积:" + (123*456));
    System.out.println("数值:" + 12);
    System.out.println("12的平方:" + (12*12));
    System.out.println("12的立方:" + (12*12*12));
            
    //求22的平方及立方
    System.out.println("22的平方:" + (22*22));
    System.out.println("22的平方:" + (22*22*22));

     4、变量的赋值

    定义:变量是可变的量,那么就是可以改变的,例如: int a = 0 ; int a = 10 ;使用 “ = ”,等号称为赋值操作符。先将a赋值为0,再赋值为10,最终a 的值是10.

    5、布尔类型

    boolean在Java语言中被称为布尔类型,表示“是”或“否”,注意:布尔的值只有这两种,其他写法都是错误的。true和false是值,不是字符串,用双引号括起来的才是字符串。

    boolean a = true;

    boolean b = false;

    操作符与表达式

     定义:操作符(Operator) ,也称为运算符,比如 + - * / 这些符号都是操作符;表达式(Expression) ,是一个由数值和操作符组成的式子。

     

    1、int 型的算术运算

    int型进行运算符运算后,结果还是int型。

    需要解释下,除法与模运算

    1)除法:取小数点之前的部分:

    14/5  结果为 2

    2)模运算,取余数 :

    14%5 结果为4

     2、浮点型的算术运算

    浮点型的算术运算规则也是一样,还是重点看下除法与模运算。

    1)浮点型的除法运算,结果保留小数部分

    14.0/5.0 结果是2.8

    2)浮点型的取模运算,结果为余数

    14.0/5.0 结果是4.0

    3、类型提升

    当整型int 与浮点型double进行运算时,将int型视为double型,这样称为类型的提升。因为double型是可以兼容整型来表示的,为了防止数据丢失。

    例:14/5.0 = 2.8

    int a = 5;
    double b = 14.0;
    System.out.println("结果为:" + (b/a));
    System.out.println("结果为:" + (b%a));

    4、混合运算与优先级

    原则:先乘除 后 加减

    例:5*9 +9/8 -9*8  ---> (5*9) + (9/8) - (9*8)

    5、关系操作符

    6、逻辑操作符

     

    • 逻辑与:只有两个都成立才成立(为true),只要有一个不成立就是false。
    • 逻辑或:两个中只要有一个成立就为true;false || true 结果为true。
    • 逻辑非:表示“否”的意思。!true = false,!false = true

    7、区分初始值与赋值

    int a = 2 //初始值
    int b = 9 //初始值
    a = 100+b //重新赋值

    8、组合赋值操作符

    组合赋值操作:
    a+=b;相当于 a = a + b
    a-=b;
    a/=b;
    a*=b;
    a%=b;

    9、自增/自减操作符(前置自增与后置自增)

            //自增操作符 ++ 表示;a++ 理解为a = a+1
            //自减操作符 -- 表示;b--理解为b = b - 1
            
            //前置自增与后置自增
            /*后置自增
             * int b = 10;
             * a = b++
             * 
             * 注意理解,这里最终a =10;b = 11
             * 
             * 后置自增
             * int b = 10;
             * a = ++b;
             * 
             * 以上内容不是重点,无需多套太多时间
             * 
             * 为了增加代码可读性,可以分开写
             * a = b;
             * b ++
             */                

    10、操作符的优先级

    关系操作符必逻辑操作符优先级高,逻辑非比逻辑与的优先级高。

    例子:a > 10 && !ok,优先级换算为:((a>10) &&(!10))

    11、类型转换操作符

    整型与浮点型之间,容许类型转换,例如:

    double a = 12.77;
    int b = (int) a ; // 将double类型转换为int型

    其中,a 是double型,b是int 型 ,b = a 时,要求两边的类型一样,所以进行转型操作,double型可以转换为int型,反之也是可以转换。

    注意double型向int 型时,会产生数据丢失。int型向double型转换不会产生数据丢失。

    例:

    double a = 12.2
    int b = (int) a //此时b转型为12,小数部分被截掉
    
    int a = 12
    double b = double(b) //此时a 为12,没有数据丢失

    显示转换与隐式转换

    int c = 10;
    double d = c ;//省略了(double)转换符

    语句

    int[] a = {11,11,11,11};
        a = null;
        a[0] = 11;

    失去引用对象

        //失去引用对象
            int[] a = {2,2,2}; // 创建一个数组对象,内容是{8,8,8}
            a = new int[4]; //创建另一组数组对象,内容是{0,0,0,0}
            
            //创建完成后,第一个对象就没有任何引用它,这成为“失去引用”对象
            
            a[0] = a[1] =a[2] = a[3] = 17;

    当一个对象失去引用后,就不会再被使用,会由系统自动地回收和销毁这个对象,此过程称为垃圾回收。

     

    数组对象

  • 相关阅读:
    [Leetcode]设计链表
    [Leetcode]最小栈
    复杂JSON反序列化为类对象
    Big Data Solution in Azure: Azure Data Lake
    EF vs ADO.NET
    EF5.0默认不支持DB First了?
    WebService/WCF/WebAPI区别
    AugularJS1.X不升级到2.X
    数据库中锁的问题
    MVC中路由匹配的规则
  • 原文地址:https://www.cnblogs.com/aszeno/p/11662943.html
Copyright © 2011-2022 走看看