java_day03

  • 变量是什么:就是可以变化的量
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

type varName [=value] [{,varName[=value]}]

//数据类型 变量名 = 值;可以用逗号隔开来声明多个同类型变量

  • 注意事项
  • 每个变量都必须有类型,类型可以是基本类型或引用类型
  • 变量名必须是合法的标识符
  • 变量的声明是一条完整的语句,因此每一个声明都必须以分号结束

  • 类变量

  • 实例变量
  • 局部变量
public class Demo7 {

    //属性:变量

    //类变量 变量前加上static
    static double salary = 9500;

    /*
    实例变量:从属于对象
    如果不自行初始化,一般为这个类型的默认值 如数值类型为0或0.0
    布尔类型为false,除了基本类型都是null
     */
    String name;
    int age;

    //main方法
    public static void main(String[] args) {
        //局部变量:在方法中声明且生命周期只在此方法中 必须声明和初始化值
        int i = 10;

        //变量类型
        Demo7 demo = new Demo7();
        System.out.println(demo.age);
        System.out.println(demo.name);

        //类变量
        System.out.println(salary);

    }
  • 初始化之后不能再更改值!是不会变动的值
  • 常量是一种特殊的变量,初始化后,再程序的运行过程中不允许被改变

​ final 常量名=值;

​ final double PI=3.14

  • 常量名一般使用大写字母

  • 所有变量、方法、类型: 见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词之外,后面的单词首字母大写 lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和u驼峰原则:run()、runMan()

运算符

Java语言支持如下运算符

  • 算式运算符:+,-,/,%,++,–
  • 赋值运算符:=
  • 关系运算符:>,
  • 逻辑运算符:&&
  • 位运算符:&,|,^,~,>>,<
  • 条件运算符:?,:
  • 拓展赋值运算符:+=,-=,*=,/=
public class Demo1 {
    public static void main(String[] args) {
        //二元运算符
        int a = 10;
        int b = 20;
        int c = 30;
        int d = 40;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);

    }
}
public class Demo2 {
    public static void main(String[] args) {
        long a = 234234234234234L;
        int b = 23423;
        short c = 123;
        byte d = 12;

        //这里有个知识点 基本类型低容量类型遇到高容量运算 会自动向上转化
        System.out.println(a+b+c+d);//Long 类型
        System.out.println(b+c+d);//int类型
        System.out.println(c+d);//short类型

    }
}
public class Demo3 {
    public static void main(String[] args) {
        //关系运算符返回的结果:false、true
        //一般与if配合使用

        int a = 10;
        int b = 20;
        int c = 21;

        System.out.println(a>b);
        System.out.println(a

​ a++与++a 结果都是a=a+1,但是会在执行顺序上有一些区别,

a++ 是先执行再自增,++a则相反 先自增再执行

–同理

public class Demo4 {
    public static void main(String[] args) {
        /*
        ++自增;--自减 一元运算符
         */
        int a = 3;

        int b = a++; //执行完这行代码后,先给b赋值,再自增
        //相当于此处隐藏了 a = a + 1;
        System.out.println(a);

        //a = a + 1;
        int c = ++a; //执行完这行代码前,先自增,再给b赋值

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

    }
}

//逻辑运算符
public class Demo5 {
    public static void main(String[] args) {
        //与 &&、或||、非!

        boolean a = true;
        boolean b = false;

        System.out.println("a && b:"+(a && b));//逻辑与运算,两个变量都为真,结果才返回true
        System.out.println("a || b:"+(a || b));//逻辑或运算,两个变量有一个为真,结果就返回true
        System.out.println("!(a && b):"+!(a && b));//逻辑非运算,如果为真,则返回假,反之 假则返回真

        //短路运算 比如 b&&a 由与b是false 下面的a就不需要在判断了  直接结果为false
        int c = 5;
        boolean d = (c
//逻辑运算符
public class Demo5 {
    public static void main(String[] args) {
        //与 &&、或||、非!

        boolean a = true;
        boolean b = false;

        System.out.println("a && b:"+(a && b));//逻辑与运算,两个变量都为真,结果才返回true
        System.out.println("a || b:"+(a || b));//逻辑或运算,两个变量有一个为真,结果就返回true
        System.out.println("!(a && b):"+!(a && b));//逻辑非运算,如果为真,则返回假,反之 假则返回真

        //短路运算 比如 b&&a 由与b是false 下面的a就不需要在判断了  直接结果为false
        int c = 5;
        boolean d = (c
public class Demo6 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
        ----------------------------
        A&B = 0000 1100
        A|B = 0011 1101
        A^B = 0011 0001
        ~B = 1111 0010
        ~A = 1100 0011

        ================================

        2*8 = 16 那么如何运算会赠右效率呢? 答案是使用位运算
        <<  *2
        >>  /2
          二进制       十进制
        0000 0000       0
        0000 0010       2
        0000 0100       4
        0000 1000       8
        0001 0000       16

         */
        System.out.println(4>>1);
        System.out.println(4<
public class Demo7 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a+=b;
        System.out.println(a);
        a-=b;
        System.out.println(a);

        //字符串连接符 + ,String
        System.out.println(""+a+b); //字符串在前会把后面也转换为字符串
        System.out.println(a+b+""); //先计算后转换
    }
}
//三元运算符
public class Demo8 {
    public static void main(String[] args) {
        //x ? y : z  如果x为真,返回y;反之返回z
        //也可用if处理

        int score = 50;
        String res = score

其实运算符有个一优先级的问题(Java优先级是优先级与结合性的综合),但是不用特意去记忆,谨记()最优先足矣

Original: https://www.cnblogs.com/onlyxue/p/16742381.html
Author: 守望在路上
Title: java_day03

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573150/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 并发bug之源(一)-可见性

    CPU三级缓存 要聊可见性,这事儿还得从计算机的组成开始说起,我们都知道,计算机由CPU、内存、磁盘、显卡、外设等几部分组成,对于我们程序员而言,写代码主要关注CPU和内存两部分。…

    Java 2023年6月9日
    077
  • [学习笔记] Java对象和类

    Java是一种面向对象语言(Object-oriented Programming,OOP); 面向对象编程 面向对象编程与面向过程编程不同,面向过程编程将模型分解为达到最终结果所…

    Java 2023年6月5日
    078
  • Python工具箱系列(七)

    上期描述了如何在ubuntu18.04下安装python3.8,本期将描述: · BIOS开启CPU的虚拟化支持 · 如何在windows10/11下安装wsl/wslg · 如何…

    Java 2023年6月16日
    081
  • Spring Boot 3.0.0 M3、2.7.0发布,2.5.x将停止维护

    昨晚(5月19日),Spring Boot官方发布了一系列Spring Boot的版本更新,其中包括: Spring Boot 3.0.0-M3 Spring Boot 2.7.0…

    Java 2023年6月9日
    0100
  • Spring-data-jpa和mybatis的比较及两者的优缺点?

    通过limit来获得分页记录 mybatis获得总记录数好像并不是通过执行count语句来获得的,可能是通过游标cursor的方式来获得的,通过druid监控,其只执行一条sql语…

    Java 2023年5月30日
    066
  • Java设计模式13:责任链模式

    前言 来菜鸟这个大家庭10个月了,总得来说比较融入了环境,同时在忙碌的工作中也深感技术积累不够,在优秀的人身边工作必须更加花时间去提升自己的技术能力、技术视野,所以开一个系列文章,…

    Java 2023年5月29日
    0106
  • 今天把HP6520S笔记本给拆解了

    今天把HP6520S笔记本给拆解了 两年前买的爱机 HP 6520s,实在欢喜的不得了,但随着每天15小时左右的高负荷工作,爱机 最近的风扇声音也开始烦躁起来了,且一天叫个不停,难…

    Java 2023年6月14日
    081
  • Java集合(简单介绍)

    集合 集合 1.集合的作用 2.集合类的分类 Collection Collection方法分类 首先看一下添加操作与批量添加操作 集合删除数据 ArrayList LinkedL…

    Java 2023年6月9日
    074
  • 3-面向对象(3)

    一、main()的使用说明 main()方法作为程序的入口 main()方法也是一个普通的静态方法 main()方法可以作为我们与控制台交互的方式。(之前:使用Scanner) 如…

    Java 2023年6月7日
    089
  • Mac配置PHP开发环境

    众所周知,Mac对开发者非常友好,内置了很多开发语言的环境,比如Ruby、Python、PHP,本文主要给大家说一下小明 PHP环境的配置。 开启Apache服务 我们编写好的PH…

    Java 2023年6月14日
    079
  • Spring Cloud Gateway 请求日志记录

    https://docs.spring.io/spring-cloud-gateway/docs/2.2.6.RELEASE/reference/html/#reactor-net…

    Java 2023年5月30日
    094
  • Java程序员的macOS手册

    针对Java程序员而言,开发服务器端程序,程序的运行环境是Linux,在Mac OS X这个Unix上面开发,其实很方便。 本技术专栏帮忙Java程序员,搭建工作环境,如JDK、M…

    Java 2023年5月29日
    066
  • MyBatis的基本介绍及优势

    MyBatis 的历史由来 Mybatis 原本是 Apache 软件基金会的一个开源项目叫做 iBatis ,2010 年这个项目由 Apache 迁移到了 google cod…

    Java 2023年6月5日
    094
  • 日常踩坑_@ConfigurationProperties显示prefix must be in canonical form

    在使用 @ConfigurationProperties时,好死不死报了一个我看不懂的红,像这样 我自然是一副很懵逼的状态,红线上写的错是prefix must be in can…

    Java 2023年6月7日
    080
  • aardio + Python 可视化快速开发桌面程序,一键生成独立 EXE

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月16日
    065
  • [javaweb]过滤器处理乱码

    过滤器 有一些信息不应该被处理,要被过滤的。 1.导包 javax.servlet.jsp.jstl jstl-api 1.2 taglibs standard 1.1.2 jav…

    Java 2023年6月6日
    095
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球