编译时报错,叫做编译失败

class Demo01
{
  public static void main(String[] args)
  {
    int a;
    a=12;
    System.out.println(a);
  }
}

n  变量定义后可以不赋值,使用时再赋值。不赋值不能使用。

public static void main(String[] args) {

int x;

x = 20; //为x赋值20

System.out.println(x);//读取x变量中的值,再打印

}

n  变量使用时有作用域的限制。

public static void main(String[] args) {

int x = 20;

{

int y = 20;

}

System.out.println(x);//读取x变量中的值,再打印

System.out.println(y);//读取y变量中的值失败,失败原因,找不到y变量,因为超出了y变量作用范围,所以不能使用y变量

}

n  变量不可以重复定义。

public static void main(String[] args){

int x = 10;

double x = 5.5;//编译失败,变量重复定义

}

只有数值类型才存在类型转换,小转大自动转,大转小需要强制转。

byte -> short -> int -> long -> float -> double(小转大)

范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值(强制类型转换)

class Demo01
{
  public static void main(String[] args)
  {
    /*int a;
    a=12;
    System.out.println(a);*/
    //小转大(自动转换)
    double a =1;
    System.out.println(a);
    //大转小(强制类型转换)
    int b=(int)a;
    System.out.println(b);
    //大转小会丢数据
    double c=2.6;
    int d=(int)c;
    System.out.println(d);
  }
}

代码:

class Demo02
{
  public static void main(String[] args)
  {
    //加法的连接字符串
    int a=1;
    double b=12;
    System.out.println("a+b="+a+b);
  }
}

结果:

结论:谁与字符串拼接, + 号都起到连接作用,如有计算,计算部分需要用括号括起来。

 减号只能在数值类型中做减法运算

a++:先赋值a++赋值,a再自增+1

class Demo04
{
  public static void main(String[] args)
  {
    int a=1;
    int b=a++ + 2;
    System.out.println(a);
    System.out.println(b);
  }
}

结果:

class Demo04
{
  public static void main(String[] args)
  {
    int a=1;
    int b=a++ + 2 + ++a + a++;
    System.out.println(a);
    System.out.println(b);
  }
}

结果:

class Demo04
{
  public static void main(String[] args)
  {
    int a=1;
    int b=a++/*数值为1*/ + 2 + a++/*数值为2*/;
    System.out.println(a);//有几个a++或者++a,a就+几
    System.out.println(b);
  }
}

2019.12.07 java基础的更多相关文章

  1. 2019.12.06 java基础代码

    操作系统中默认码表是:gbk      (一个中文字符占两个字节): utf-8(一个中文字符占三个字节): 数据库建库时的默认码表是:拉丁码表: (1)       public class 定义: ...

  2. 2019.12.06 java基础

    JRE:运行环境(包含JVM(Java Virtual Machine)- Java虚拟机和核心类库) JDK: JAVA语言的软件开发工具包(Java Development Kit) Dos命令行 ...

  3. 2019.12.07 java计算

    class Demo05{ public static void main(String[] args) { int a=1; a++; int b=1 + a++ + a + a++; System ...

  4. 2019.12.11 java程序中几种常见的异常以及出现此异常的原因

    1.java.lang.NullpointerException(空指针异常) 原因:这个异常经常遇到,异常的原因是程序中有空指针,即程序中调用了未经初始化的对象或者是不存在的对象. 经常出现在创建对 ...

  5. “全栈2019”113篇Java基础学习资料及总结

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. 2019.12.04 Java中的内存分配

    Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识.一般 ...

  7. 2019.12.11 java数组练习

    class AmHW { public static void main(String[] args) { /* 统计一个公司三个销售小组中每个小组的总 销售额以及整个公司的销售额.如下所示 第一小组 ...

  8. 2017/05/07 java 基础 随笔

    1.^异或  逻辑运算符  两边相同为false  不同为ture 2.键盘录入 package com.huawei; /** * 键盘录入 * @author Eric * */ import j ...

  9. 2019.12.11 java练习

    class Demo01 { public static void main(String[] args) { //数组求最大值 int[] arr={1,2,3,4,5,6,7,8,9}; int ...

随机推荐

  1. PHP 使用 pdo 操作oracle数据库 报错

    ## SELECT UNID,NAME,NAME_XML WHERE UNID>=10 AND UNID<=15 ## 在10到15这5条数据中不为空数据php: symbol looku ...

  2. Django开发之登陆和登出

    使用django自带的验证模块 1.首先使用python manage.py startapp models为当前项目添加一个应用. 2.在setting.py中INSTALLED_APPS后面添加' ...

  3. pytest_参数化parametrize

    前言 pytest.mark.parametrize装饰器可以实现测试用例参数化. parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 import pytest ...

  4. 开启Telnet服务

    在Win7系统中安装和启动Telnet服务非常简单:依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows功能”进入Windows 功能设置对话框.找到并勾选“ ...

  5. IEnumerable,ICollection,IList,List的使用

    做C#的都知道:一类只能有一个继承类,但可以实现多个接口.这句话就告诉我们:IEnumerable,ICollection,IList,List区别了 首先我看看 IEnumerable:   // ...

  6. aria2 cmd set chmod, and others..

    import 'package:flutter/material.dart'; import 'dart:io'; import 'dart:async'; import 'package:rxdar ...

  7. 【转】Dubbo分布式服务框架

    Dubbo是一个分布式服务框架,致力于提供高性能和透明化的远程服务调用方案. Dubbo架构 官网架构图: 节点角色说明: Provider: 暴露服务的服务提供方. Consumer: 调用远程服务 ...

  8. JavaScript中setInterval函数应用常见问题之一(第一个参数不加引号与加引号的区别)

    学过JavaScript 脚本语言的都应该接触过setInterval 函数.如何使用我想大家都知道,但是有时候对于刚刚接触JavaScript的朋友来讲,还是会在使用的时候碰到这样或那样的问题而感到 ...

  9. 在Spring中使用AspectJ实现AOP

    在Spring中,最常用的AOP框架是AspectJ,使用AspectJ实现AOP有2种方式: 基于XML的声明式AspectJ 基于注解的声明式AspectJ 基于XML的声明式AspectJ 1. ...

  10. 基于kubeamd初始化安装kubernetes集群

    环境:master,etcd 172.16.1.5node1 172.16.1.6node2 172.16.1.7前提:1.基于主机名通信,/etc/hosts 2.时间同步3.关闭firewalld ...