JAVA中一些必备的基础知识 (1/2)

JAVA基础语法及流程控制 (1/2)

前言

 
  hello 大家好,牛牛今天主要分享一下自己在学习Java基础语法及流程控制的知识。一方面分享给大家,作为一个技术教程类的文章;另一方面也是作为自己学习笔记。
  希望能对大家在学Java的路上有帮助!

一、关于JAVA的一些了解性内容

java的特性和优势

  1. 简洁有效
  1. 高可移植性
  1. 面向对象—>封装、继承、多态
  1. 解释型与编译型的折中
  1. 提供了对内存的自动管理
  1. 取消了C++中的多重继承
  1. 取消使用指针!(我们都曾被指针折磨过)

java的三大版本

  1. JAVA SE

​ 它是JAVA的标准版,是整个JAVA的基础和核心,这是我们主要学习的一个部分,也是JAVAEE和JAVAME技术的基础,主要用于开发桌面应用程序。学会后可以做一些简单的桌面应用如:扫雷,连连看等。主要是PC端。

  1. JAVA ME

​ 它是JAVA的移动版本,主要应用于嵌入式开发,比如手机程序的开发。

  1. JAVA EE

​ 也叫JAVA的企业版,它主要是面向企业级应用开发的。应用于服务器的比较多,偏想WEB开发,其基础就是JAVA SE,故而我们一定要重视JAVA SE。


JDK和JRE和JVM

JDK : Java Development Kit

​ Java开发者工具,是java的开发环境,主要是开发人员需要配置的,既可以运行Java程序,也可以开发Java程序。主要包含JRE,Java的开发工具和Java的基础类库。

JRE : Java Runtime Environment

​ Java运行环境,是面向程序使用者的,只能运行Java程序,不能开发。主要包含JVM和Java核心类库。

JVM : Java Virtual Machine

​ Java虚拟机是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。

JDK和JRE和JVM之间的关系

在这里插入图片描述


二、基础语法

注释

注释在程序中不执行,是给我们写代码的人看的。书写注释有利于长时间之后我们查看项目代码。书写注释是一个很好的习惯哟!

单行注释

 						// 这是一条注释

多行注释

						/*  
							这是一条注释
							!
						*/

文档注释

						/**
						*  这是文档注释
						*/

标识符

1. 不可以用关键字做标识符
2. 标识符要以字母,美元符$,下划线_开始,首字符之后可以是 字母, 美元符 $,下划线_,或者数字组合
3. 合法举例:age,&salary,_value,__1_value…
4. 非法举例:123abc,-salary,#abc…
5. 可以使用中文名,但是不建议,也不建议用拼音。
6. JAVA是大小写敏感的语言,故而大小写不同的同一组字符串,在程序中是不同的


关键字

关键字是有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数


数据类型

JAVA是强类型语言。所谓强类型语言,就是所有变量 先定义后使用,若不修改,则保持原有数据类型。比如:C语言,C++等等。 对应的还有弱类型语言,就是可以不符合规定,随便玩。比如Javascript等等。

在Java中有两类数据类型:基础数据类型引用数据类型

 
  基础数据类型:byte ,short ,int ,long ,float ,double ,char ,boolean (true,false)
  引用数据类型:类 class,接口 interface, 数组 array…

 	   //整形
        byte num1 = 127;
       // byte b = 128;
       // byte b =-129;   -128~127
        short num2 = 12321;
        int num3 = 1231231232;
        long num4 = 1111111111132131232L;//注意long类型后面要加 L;

        //浮点型
        float num5 = 12.3F;//注意float类型后面要加 F;
        double num6 = 3.141592653589793284626431;

        //字符
        char word1 = 'l';
        char word2 = '牛';
        //字符串,String不是关键字,类
        //String name ="六道牛牛";

        //布尔类型
        boolean flag_t = true;
        boolean flag_f = false;
  1. 注意long类型后面要加 L
  2. 注意float类型后面要加 F

拓展知识

这部分是扩展知识,可以选择性观看
代码实例

 //整数拓展:   进制 二进制0b,   十进制    , 八进制0   十六进制0x
        int i = 10;  
        int i8 = 010;
        int i16 = 0x10;
        int i2 = 0b10;
        System.out.println("十进制 = "+i);
        System.out.println("八进制 = "+i8);
        System.out.println("十六进制 = "+i16);//0~9,A~F
        System.out.println("二进制 = "+i2);
        System.out.println("-----------------------------------------");

运行结果
在这里插入图片描述
代码实例

//浮点数拓展: 银行业务表示问题  ------>BigDecimal 数学工具类

        //float       精度有限 离散的 摄入误差 接近但不等于(下面情况出现的原因)
        //double
        //最好完全避免使用浮点数进行比较

        float f = 0.1f;
        double d = 1.0/10;
        System.out.println(f==d); //f和d应该是相等的,布尔值却是false
        System.out.println(f);
        System.out.println(d);

        float f1 = 1231231232131f;
        float f2 = f1+1;
        System.out.println(f1==f2);//f1,f2应该相差1,布尔值却是true
        System.out.println("-------------------------");

运行结果在这里插入图片描述
代码实例

 //字符拓展

        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println((int)c1);//强制类型转换
        System.out.println(c2);
        System.out.println((int)c2);
        //所有的字符本质都是数字
        //编码 Unicode 2字节  65536   excel 2的16次 = 65536;
        //Unicode 表 (97 = a ,65 = A)
        //U0000 , UFFFF;
        char c3 = '\u0061';
        System.out.println(c3);

运行结果
在这里插入图片描述
代码实例

//布尔值扩展
        //以下内容等效
        boolean flag =true;
        if(flag == true){
            System.out.println("牛牛最帅");
        }
        if(flag){
            System.out.println("牛牛最帅");
        }

运行结果
在这里插入图片描述

类型转换

	 不同类型的数据先转换为同类型,在进行运算
	//强制类型转换 ---->(类型)变量名    高 --> 低
    //自动转换                 低到高
    //容量等级(小->大) : byte,short,char<int<long<float<double

注意点
1. 不能对布尔值进行转换
2. 不能把对象类型转换为不相干的类型
3. 在把高容量转换为低容量的时候,强制类型转换
4. 转换的时候可能出现内存溢出或者精度问题!
代码实例

 //不同类型的数据先转换为同类型,在进行运算
        int i = 128;
        int j = 127;
        byte b =(byte)i;//内存溢出
        byte c = (byte)j;
        System.out.println(i);
        System.out.println(b);
        System.out.println(c);

运行结果

在这里插入图片描述
代码实例

     //int 转 char实例
        char ch ='a';
        int d = ch+1;
        System.out.println(d);
        System.out.println((char)d);

运行结果
在这里插入图片描述
代码实例

public static void matters(){
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int total1 = money*years;
        long total2 = money*years;//计算之前已经存在问题了
        long total3 = money*((long)years);//想把一个数转换为long,在运算的时候自动提升
        long total4 = (long)(money*years);//整体强转没作用,计算之前已经存在问题了
        System.out.println(total1);//精度溢出
        System.out.println(total2);
        System.out.println(total3);
        System.out.println(total4);
        double e = Math.pow(2,3);//数学工具类
        System.out.println(e);

    }

运行结果
在这里插入图片描述

小结

以上是Java入门必备的知识,后续还有一部分,敬请期待喔!

点这里查看更多JAVA学习源码

您的点赞和关注,是对牛牛最大的鼓励喔~~~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值