资讯专栏INFORMATION COLUMN

Java第一阶段(1)【 数据类型 】

BingqiChen / 505人阅读

摘要:短路与短路或在包下继续新建一个类,在方法中定义三个类型的变量,任意赋值,判断与的关系是大于时的结果,小于时的结果,等于时的结果,将三个结果赋值给一个变量,并打印输出每一个结果。

面向过程的编程

1. java中的元素

关键字:编程已经规定好的单词或词组

标识符:自定义取名(不能使用关键字);只能由英文大小写、数字、美元符号;且数字不能开头

变量:会改变的量

常量:不变的量、恒定

注释:单行注释/开始 + /结尾 ;多行注释/ 开始 + /结尾;文档注释/** 开始 + /结尾

2.命名规范(见名知义):

创建工程,工程名:==英文 + 版本号== ;如:Tank_V1.0

在src下创建包,包名:==由一个单词构成,全部小写== ;如:com.公司名.test

创建类Class(java文件),类名:==首字母一定要大写== ;如:TestOne

创建方法,方法名:==第一个单词的首字母一定要小写,遵循驼峰命名法== ;如:mainTest

mian方法:__java的程序入口__

定义变量,变量名:==第一个单词的首字母一定要小写,遵循驼峰命名法== ;如:resOne

定义常量,常量名:==全部大写,由多个单词构成用下划线隔开== ;如:HOW_ARE_YOU

3.数据类型

编程的本质:各种数据的存储和运算

电脑最小的存储单位:bit位

1字节 = 8位
1个字符 = 2字节
1KB = 1024字节
1MB = 1024KB

基本数据类型

数字类型

类型 写法 占位 取值范围 例子
整数 byte 字节型 8位 -128~127
short 短整型 16位 ±30000
int 整型 32位 ±20亿左右
long 长整型 64位 ±2^10^
小数 float 单精度浮点型 32位 ±3.4*10^38^
double 双精度浮点型 64位 ±1.7*10^303^

        ●  文字类型

类型 写法 占位 取值范围 例子
字符型 char 仅仅表示一个字符 16位 0~65535 "a" "b" "我"

        ●  布尔类型

类型 写法 取值范围 例子
布尔型 boolean true/false

引用数据类型(复合数据类型):数组,类(对象类型),接口

4. 运算符

算数运算符:+ - * / % ++ --

关系运算符:> < >= <= == !=

逻辑运算符:短路与&&  短路或|| ;与& 或| ;非!;==(短路运算结果相同、效率不同,短路更高)==

赋值运算符:= += -= *= /= %=   如:a+=b → a=a+b

字符串拼接运算符:字符串和其他的数据进行拼接 结果还是一个字符串 String

位运算(了解):把数据转换成二进制的数:>> 右移、 << 左移 、>>>无符号右移、& 、|、!、^ 异或、~取反

三元运算符:  格式:==(判断式)?a:b==  如果判断式为true,则返回a的值,否则返回b的值

定义变量:数据类型 取个名字 = 值;

两个整数进行运算,结果一定是 ==整数==,如果想要出现小数,其中一个变量是 ==小数类型double==

在混合运算中:char byte short → int → long → float → double

强制转换类型:(想转的类型)数据

练习

1.新建一个JAVA工程HelloJava,创建一个test包,新建一个FristDemo类,写一个main方法,定义两个int 类型的变量 a 和 b ,分别打印输出a与b的‘加/减/乘/除/取余’的结果。

package test;
public class FristDemo {
    public static void main(String[] args){
        int a = 4;
        int b = 2;
        System.out.println("a+b="+(a+b));
        System.out.println("a-b="+(a-b));
        System.out.println("a*b="+(a*b));
        System.out.println("a/b="+(a/b));
    }
}

2.在test包下继续创建一个SecondDemo类,写一个main方法,定义一个int类型的变量 i ,输出这个变量的3次方的结果。

package test;
public class SecondDemo {
       public static void main(String[] args) {
        int i = 2;
        System.out.println("i的三次方=" + ((int)Math.pow(i,3)));
    }
}

3.在test包下继续创建一个ThirdDemo类,写一个main方法,定义两个double类型的变量df和ds,分别将他们的‘加/减/乘/除的结果赋值给一个新的变量res,并打印输出每一个结果。

package test;
public class ThirdDemo {
    public static void main(String[] args){
        double df = 3;
        double ds = 6;
        double res = df+ds;
        System.out.println("df+ds="+res);
        res = df-ds;
        System.out.println("df-ds="+res);
        res = df*ds;
        System.out.println("df*ds="+res);
        res = df/ds;
        System.out.println("df/ds="+res);
    }
}

4.新建一个工程MyProject,创建一个demo包,新建一个TestOne类,在main方法中定义两个boolean 类型的变量flag和mark ,将他们的“短路与”和“短路或”的逻辑运算结果赋值给新的变量result,并打印输出这两个结果。

package demo;
public class TestOne {
    public static void main(String[] args){
        boolean flag= false;
        boolean mark= true;
        boolean result = flag && mark;
        System.out.println("短路与:"+result);
        result = flag || mark;
        System.out.println("短路或:"+result);
    }
}

5.在demo包下继续新建一个TestTwo类,在main方法中定义三个int类型的变量 x y z,任意赋值,判断(x+y)与 z 的关系是“大于”时的结果,“小于”时的结果,“等于”时的结果,将三个结果赋值给一个变量res,并打印输出每一个结果。

package demo;
public class TestTwo {
    public static void main(String[] args) {
        int x = 1;
        int y = 2;
        int z = 5;
        boolean res ;
        res = (x+y)>z?true:false;
        System.out.println("(x+y)>z为:"+res);
        res = (x+y)

6.在demo包下继续新建一个TestThree类,在main方法中定义三个 int类型变量 x, y, z,求出三个数中最小的那个数是多少,打印输出。(用三元运算符)。

package demo;
public class TestThree {
    public static void main(String[] args){
        int x = 3;
        int y = 1;
        int z = 2;
        int min1 = x

7.在MyProject这个工程中创建一个hello包,新建一个TestSwap类,在main方法中任意定义两个int类型的变量a=13和b=7,交换a和b的值,并打印交换后的结果(两种方法)

package hello;
public class TestSwap {
    public static void main(String[] args) {
        int a = 13;
        int b = 7;
        // 第一种
        int z;
        z = a;
        a = b;
        b = z;
        System.out.println("第一种:交换后a=" + a + "  " + "b=" + b);
        // 第二种
        int temp = a + b;
        a = temp - b;
        b = temp - a;
        System.out.println("第二种:交换后a=" + a + "  " + "b=" + b);
        
        // 第三种
        swap(a, b);
        System.out.println("第三种:交换后a=" + a + "  " + "b=" + b);
    }
    public static void swap(int a, int b) {
        a = 13;
        b = 7;
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75272.html

相关文章

  • 深入理解虚拟机之虚拟机类加载机制

    摘要:最终形成可以被虚拟机最直接使用的类型的过程就是虚拟机的类加载机制。即重写一个类加载器的方法验证验证是连接阶段的第一步,这一阶段的目的是为了确保文件的字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身的安全。 《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版》读书笔记与常见相关面试题总结 本节常见面试题(推荐带着问题阅读,问题答案在文中都有提到): 简单说说类加载过...

    MadPecker 评论0 收藏0
  • java类的加载过程

    摘要:一类加载的过程虚拟机加载类主要有五个过程加载验证准备解析和初始化。初始化在虚拟机中严格规定需要对类进行初始化的,有下面五种情况遇到,,或者这条字节码指令时。 在这本书里面,在讲到类初始化的五种情况时,提及了一个比较有趣的事情。先来看看下面的代码 public class SubClass { static{ System.err.println(I m your...

    ormsf 评论0 收藏0
  • JVM 的类初始化机制

    摘要:当你在程序中对象时,有没有考虑过是如何把静态的字节码转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇...

    20171112 评论0 收藏0
  • java类加载机制

    摘要:在加载阶段,虚拟机要完成件事情通过一个类的全限定名来获取定义此类的二进制字节流。前面的阶段中,除了加载的时候,可以由用户指定自定义类加载器之外,别的都是由虚拟机主导控制。 java类加载机制 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,确实编程语言发展的一大步 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直...

    garfileo 评论0 收藏0
  • jvm类加载的过程

    摘要:这个阶段虚拟机会保证父类的方法会在子类的方法前执行,而且在多线程环境中,虚拟机会保证方法的同步。 一个类从加载到虚拟机到使用结束从虚拟机卸载包括了加载、验证、准备、解析、初始化、使用、卸载,即为一个类的生命周期 showImg(https://segmentfault.com/img/bVblADo?w=627&h=223);下面来看一下类加载的过程,即加载、验证、准备、解析、初始化5...

    CoyPan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<