1. 变量的命名

记住一点:不可以以数字开头

类名:首字母大写的驼峰体

变量名,方法名:首字母小写的驼峰体

包的名字:与python语言一样 全部小写

2. 常量

整形:123

实数型:3.14

字符:‘a’

字符串:"abc"

布尔值:true false

3. 变量

语法:数据类型 变量名[=初始赋值]

int a=20,b=30;

int age,weight;

	public static void main(String[] args){
int age=18;
System.out.println(age);
}
}

如何反汇编?

javap -v xxxx.class # -v 就是verbos 汇编的意思

变量在内存中与生活举例

类似于酒店里面的房间,

  • 房间有不同的房号根据这个房号就能找到对应的房间并访问
  • 房间有不同的类型 有单人间 有双人间 也有套房

变量的作用域 只在最近的 {}内生效

局部变量:方法里面定义的变量

成员变量:类中定义的变量

注意:这段代码不能运行

public class TestVar04{
static int b = 20; public static void main(String[] args){
int a = 10;
System.out.println(b); // 可以访问b }
}

4. 进制

逢几进一

十进制:99, 0, -1

八进制:以0开头 05

十六进制:0x开头 0x15

二进制:0b开头 0b010101

4.1 进制转换

二进制转十进制

1101

12^3 + 12^2 + 02^1 + 12^0

=8+4+0+1=13

十进制转二进制

八进制转十进制

16

18^1 + 68^0

=8+6=14

4.2 整型数据类型

byte short int long

byte能表示的最大数127是怎么计算出来的?

01111111 //第一位是符号位

12^6 + 12^5 + 12^4 + 12^3 + 12^2 + 12^1 + 1*2^0

=64+32+8+4+2+1=127

public class TestVar05{
public static void main(String[] args){
//变量赋值的时候可以为不同的进制
int num1=12; //默认的是十进制
System.out.println(num1); int num2=012;//前面加上0 表示8进制
System.out.println(num2); int num3=0b10;//前面加上0b便是二进制
System.out.println(num3); //byte 类型
byte num4 = 126;//超出范围会报错
System.out.println(num4); short num5 = 30000;
System.out.println(num5); //int i = 12345678910; // 12345678910 超出了int的范围
int i = 12345;
System.out.println(i); // 就是要把12345678910 赋值给long;后面加上L
long l = 12345678910L;
System.out.println(l); }
}

5 浮点型

float: 占用2字节

double: 占用4字节

常量: 3.14 0.314 314.0

变量:java实际存储的是用科学计数法存储AeB=A*10^B 只存储了A B两个部分

public class TestVar06{
public static void main(String[] args){
double f1 = 314e2;
System.out.println(f1); // 31400.0 double f2 = 314e-2;
System.out.println(f2); // 3.14 }
}
public class TestVar07{
public static void main(String[] args){
double num1 = 3.14;
System.out.println(num1); double num2 = 314e-2;
System.out.println(num2); // 注意:浮点型 默认的是double,将double类型的值赋值给float,后面加上F;
float f1 = 3.142345678623F;
System.out.println(f1); // 浮点型的类型 不要进行比较
float f2 = 0.3F;
double d2 = 0.3;
System.out.println(f2 == d2);
}
}

6. 字符串

public class TestVar08{
public static void main(String[] args){
System.out.println("HelloWorld"); /*
单个字符: ''
字符串: "" */ char ch1 = 'a';
System.out.println(ch1); char ch2 = 'A';
System.out.println(ch2); char ch3 = '4';
System.out.println(ch3); char ch4 = '?';
System.out.println(ch4); char ch5 = '中';
System.out.println(ch5); char ch6 = ' '; // 一个空格可以 两个空格就是字符串 需要用双引号
System.out.println(ch6); // 转移字符
char ch7 = '\n'; // 换行符
System.out.println("aaa"+ch7+"bbxxxb");
System.out.println("aaa\nbbxxxb"); // 这两的效果是一样的 System.out.println("aaa\tbbxxxb"); // \t制表符 大小是8位 不够的填空格aaa_____bbxxxb
System.out.println("aaabbbccc\bxxxx"); // \b 光标向左移动一格 类似退格键
System.out.println("aaabbb\rxxxx"); // \r 光标移到行首 进行替换操作 -->xxxxbb
System.out.println("\"java\""); // -->"java"
}
}

7. 整形与字符型之间的转换

public class TestVar09{
public static void main(String[] args){
System.out.println("HelloWorld");
/*
char类型 看到的是字面常量,
但是底层存储与计算的时候实际是按照一个数值进行的,
这个数值就是在ASCII 中的值
*/
char ch1 = 'A';
System.out.println(ch1);
System.out.println(ch1+90);
System.out.println(155-ch1); char ch2 = '中';
System.out.println(ch2); // 实际存储的是20013
System.out.println(ch2+90); // 20103
System.out.println(20103-ch2); int a = 20013; // 中 在计算机中的实际存储值就是 20013
char c1 = (char)a; // 将这个值强转成char 就得到 中
System.out.println(c1); int num1 = (int)ch2;// 得到 中的 实际存储值
System.out.println(num1); int num2 = '中';
char ch5 = 20013;
System.out.println(num2); // 20013
System.out.println(ch5); // 中 // 面试题
char ch6 = '中' + 2;
System.out.println(ch6); //丯 }
}

8 最常见的一个乱码问题

字符编码windows默认的是GBK

9. 布尔类型

存储空间只占用一个bit 不是0就是1

public class TestVar10{
public static void main(String[] args){
System.out.println("HelloWorld");
boolean flag1 = true;
System.out.println(flag1); boolean flag2 = 5==8;
System.out.println(flag2); boolean flag3 = 5< 6;
System.out.println(flag3);
}
}

10. 数据类型的转换-强转-自动转

public class TestVar12{
public static void main(String[] args){
double d1 = 6;// int --> double 直接转
System.out.println(d1);
int i1 = (int)6.5; // double -->int 强制转 会丢失
System.out.println(i1);
// 多种数据类型参与运算的时候 整数 浮点字符 都可以参与运算 布尔类型不能
double d2 = 12+129L+2.1415926F+3.1+'a';
System.out.println(d2); // 转换的原则
// byte,short,char -->int -- >long -->float-->double
// 找出级别最高的,进行转化
// 12+ 129L+ 2.1415926F+ 3.1+ 'a';
// int long float float char
// 最长的为float
// 12.0 129.0 2.1415926F 3.1 97.0 // 结果如何强转int
int i2 = (int)(12+129L+2.1415926F+3.1+'a');
System.out.println(i2); /*
左边<右边:放不下强转
左边>右边:放得下 直接转
*/ byte b1 = 127; // 127在byte的范围内 可以直接赋值
System.out.println(b1);
byte b2 = (byte)128; // 128不在byte的范围内 需要强转会丢失
System.out.println(b2);
}
}

为什么128转byte会变成-128?



11. final scanner的使用

import java.util.Scanner;

public class TestVar13{
public static void main(String[] args){
final double PI = 3.1415926; //final 修饰的变量为常量 不能修改
int r = 5; // 求周长
double c = 2*PI*r;
System.out.println("周长为:"+c); // 求面积
double s = PI*r*r;
System.out.println("面积为:"+s); }
}
import java.util.Scanner;

public class TestVar13{
public static void main(String[] args){
final double PI = 3.1415926; //final 修饰的变量为常量 不能修改
// int r = 5; // r 是固定的如何从外部输入?
Scanner sc = new Scanner(System.in); System.out.print("请输入半径:");
int r = sc.nextInt(); // 求周长
double c = 2*PI*r;
System.out.println("周长为:"+c); // 求面积
double s = PI*r*r;
System.out.println("面积为:"+s); }
}

练习:

import java.util.Scanner;
public class TestVar14{
public static void main(String[] args){
Scanner sc = new Scanner(System.in); // 年龄 身高 姓名 性别
// int double string char
//int age = 18;
System.out.println("输入年龄:");
int age = sc.nextInt();
//System.out.println(age); //double height = 180.0;
System.out.println("输入身高:");
double height = sc.nextDouble();
//System.out.println(height); //String name = "张三";
System.out.println("输入名字:");
String name = sc.next();
//System.out.println(name); System.out.println("输入性别:");
//char sex = '男';
char sex = sc.next().charAt(0);
//System.out.println(sex); System.out.println("总:");
System.out.println("年龄:"+age+'\n'+"身高:"+height+'\n'+"名字:"+name+'\n'+"性别:"+sex);
}
}

java基础数据类型-int类型-浮点型-数据类型的转换--day02的更多相关文章

  1. Java基础语法:注释、数据类型、字节

    Java基础语法:注释.数据类型.字节 注释 单行注释:// 多行注释:/* 注释 */ 文档注释:/** 注释 */ 数据类型分为两大类:基本类型和引用类型 八大基本数据类型 整数类型 byte(占 ...

  2. 转:JAVA里面的int类型 和Integer类型,有什么不一样

    JAVA里面的int类型 和Integer类型,有什么不一样 原文链接:http://blog.csdn.net/wuxinliulei/article/details/11099565 java.l ...

  3. JAVA里面的int类型 和Integer类型,有什么不一样

    JAVA里面的int类型 和Integer类型,有什么不一样 原创 2013年09月04日 23:15:11 标签: java / 2120 编辑 删除 JAVA里面的int类型 和Integer类型 ...

  4. 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

    原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...

  5. java基础04-数据类型扩展及面试题

    java基础04-数据类型扩展及面试题讲解 public class demo02 { public static void main(String[] args){ // 一.整数拓展: 进制 二进 ...

  6. Java 基础类型转换byte数组, byte数组转换基础类型

    Java 基础类型转换byte数组, byte数组转换基础类型 Java类型转换 java类对象转化为byte数组

  7. 聊聊java基础,int值强制类型转换成byte

    聊聊java基础,int值强制类型转换成byte 知识点:byte.short.char在表达式中会自动提升为int 之前做一个应用时,打印IP地址,因为是用4个byte存储的,所以打印的时候值范围是 ...

  8. Java基础之枚举类型Enum的使用

    Java基础之枚举类型Enum的使用 定义 public enum AccruedCleanEnum { SPREAD("1","发票"),OTHER(&quo ...

  9. Java基础(二) 基本类型数据类型、包装类及自动拆装箱

    我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long ...

  10. C语言基础学习基本数据类型-int类型与int变量

    int类型与int变量 针对不同的用途,C语言提供了多种整数类型.各种整数类型的区别在于所提供数值的范围,以及数值是否可以取负值. 在之前的实例中你已经看到过,int关键字用于声明整型变量. int类 ...

随机推荐

  1. liunx系统登录有趣界面图案

    # vim /etc/motd .::::. .::::::::. ::::::::::: ..:::::::::::' '::::::::::::' .:::::::::: '::::::::::: ...

  2. mybatis数据不匹配问题

    错误:数据不匹配的问题 原因:在初始化数据时.创建构造参数时只创建了全参,没有创建口参. 具体原因:因为mybatis框架会调用这个默认构造方法来构造实例对象.即Class类的newInstance方 ...

  3. C++学习笔记八:极限和数学运算<limits><cmath>

    1) <limits>库: 1.1 源文档: https://en.cppreference.com/w/cpp/types/numeric_limits #include <lim ...

  4. Java项目整合短信验证码

    一.开通短信服务 本来想整合阿里云短信服务的,可是签名一直审核不过,所以在阿里云的云市场找到了一个替代产品(sddx) 接下来小伙伴们按照自己的经济实力购买或者用免费的5条(我就是用免费的5条了) 购 ...

  5. Chrome扩展开发系列开篇

    大家好,我是 dom 哥.这是我关于 Chrome 扩展开发的系列文章,感兴趣的可以 点个小星星. 浏览器现状 研究机构 Statcounter 发布了 2023 年 9 月报告,揭示了有关浏览器的最 ...

  6. Educational Codeforces Round 26 Problem A

    A. Text Volume time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  7. 数字孪生技术助力GIS行业实现视效升级

    在当今数字化时代,数字孪生技术正逐渐成为各行各业的一项核心技术,而地理信息系统(GIS)行业也不例外.数字孪生和GIS的结合,为地理空间数据的采集.管理.分析和可视化提供了全新的可能性,使GIS行业得 ...

  8. Swagger配置类

    Swagger配置类 package com.guoba.servicebase.config; import com.google.common.base.Predicates; import or ...

  9. ASR项目实战-交付团队的分工

    对于通常的软件项目,参与角色,比如可以有用户,消费者,产品团队,研发团队(研发团队包括开发和测试),运营团队,运维团队,管理团队. 通常认为,用户,负责购买服务的群体,而消费者,负责使用业务的群体.这 ...

  10. Unix 文件权限位

    简介 在 Unix 或者类 Unix 文件系统中,每个文件(或者目录,目录也被视为文件)都有自己的所属对象和一个与之相关的 Unix 用户组关联,可以通过设置对应的文件的权限标记指定对于所属用户.所属 ...