ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java学习(03)——java基础01

2021-08-27 08:32:34  阅读:115  来源: 互联网

标签:03 01 Java String int System 类型 println out


注释

书写注释是一个非常好的习惯

public class HelloWorld {
   public static void main(String[] args) {
       //单行注释
       //输出一个HelloWorld
       System.out.println("Hello World!");

       /*
       多行注释
       可注释一段文字
        */

       //JavaDoc:文档注释
       /**
        * @Description HelloWorld
        * @Author 萘汝--Java基础学习
        */

  }
}

 

标识符与关键字

Java 目前定义了 51 个关键字,以下对这些关键字进行了分类。

  1. 数据类型:boolean、int、long、short、byte、float、double、char、class、interface。

  2. 流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。

  3. 修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。

  4. 动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。

  5. 保留字:true、false、null、goto、const。

Java所有的组成部分都想要名字。类名、变量名以及方法名都被称为标识符。

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($),下划线(_)开始

  • 首字母后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合

  • 不能使用关键字作为变量名或方法名

  • 标识符是大小写敏感的

 

数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

Java数据类型分为两大类

  • 基本类型(primitive type)

    • 数值类型(整数类型byte、short、int、long;浮点类型float、double;字节类型char)

    • Boolean类型(占1位,只有ture和false两个)

public class Demo01 {
   public static void main(String[] args) {
       //八大基本数据类型

       //整数
       int num1 = 10;//最常用,占4个字节
       byte num2 = 20;//占1个字节,-128~127
       short num3 = 30;//占2个字节,-32768~32767
       long num4 = 30L;//Long类型要在数字后面加个L,8个字节

       //小数:浮点数
       float num5 = 50.1F;//float类型要在数字后面加个F,4个字节
       double num6=3.1415926;//8个字节

       //字符
       char name = '国';//字符串String不是关键字,是类
       //String name="萘汝"

       //布尔值:是非
       boolean flag = true;//boolean flag=false
  }
}
  • 引用类型(reference type)

    • 接口

    • 数组

位b(bit)是计算机内部数据储存的最小单位,字节B(byte)是计算机中数据处理的基本单位,1B=8b。字符是指计算机中使用的字母、数字、字和符号。

 

数据类型拓展及面试题

public class Demo02 {
   public static void main(String[] args) {
       //整数拓展:进制   二进制0b   十进制     八进制0 十六进制0x

       int i=10;
       int i2=010;//八进制
       int i3=0x10;//十六进制0x 0~9 A~F 16

       System.out.println(i);
       System.out.println(i2);
       System.out.println(i3);
       System.out.println("=======================");

       //=================================================
       //浮点数拓展     银行怎么表示 钱
       //BigDecimal   数学工具类
       //=================================================
       // float f=0.1f;//0.1
       double d=1.0/10;//0.1

       System.out.println(f==d);//false

       float d1=23212122121212f;
       float d2=d1+1;

       System.out.println(d1==d2);//true
       //float double 有限 离散 舍入误差   大约 接近但不等于
       /**
        * 最好完全避免使用浮点数进行比较
        */

       //=================================================
       //字符拓展
       //=================================================
       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字节   0-65536
       //U0000 UFFFF
       char c3='\u0061';
       System.out.println(c3);//a

       //转义字符
       // \t   制表符
       // \n   换行
       //...
       System.out.println("Hello\nWorld");

       System.out.println("=======================");
       String sa=new String("hello world");
       String sb=new String("hello world");
       System.out.println(sa==sb);//false

       String sc="hello world";
       String sd="hello world";
       System.out.println(sc==sd);//ture
       //对象   从内存分析

       //布尔值扩展
       boolean flag=true;
       if (flag==true){};//新手
       if (flag){};//老手
       //Less is More! 代码要精简易读
  }
}

 

类型转换

由于Java是强类型语言,所以在进行有些运算的时候,需要用到类型转换

低------------------------------------->高
byte,short,char->int->long->float->double

运算中,不同类型的数据先转化为同一类型,然后进行运算。

public class Dome03 {
   public static void main(String[] args) {
       int i = 128;
       double b = i;//内存溢出

       //强制转换 (类型)变量名 高--低
       //自动转换     低--高

       System.out.println(i);
       System.out.println(b);

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

       System.out.println("=========================");
       System.out.println((int) 23.7);  //23
       System.out.println((int) -45.89f);  //-45

       System.out.println("=========================");
       char c = 'a';
       int d = c+1;
       System.out.println(d);
       System.out.println((char) d);

       //操作比较大的时候,注意溢出问题
       //JDK7新特性,数字之间可以用下划线分割
       int money=10_0000_0000;
       int years=20;
       int total1 = money*years;   //-1474836480,计算的时候溢出了
       long total2= money*years;   //默认是int,转换前已经存在问题

       long total3= money*((long)years);//先把一个数转换为long
       System.out.println(total3);
  }
}

 

变量

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。每个变量都必须声明其类型

type varName [=value][{,varName[=value]}];
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。

注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  • 变量名必须是合法的标识符。

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

 

常量:初始化后不能再改变的值!不会变动的值。一般使用大写字符。

final 常量名=值;
final double PI=3.14;
public class Demo04 {
   
   //属性:变量

   //类变量 static 关键字
   static double salary =2500;

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

   public static void main(String[] args) {

       //局部变量;必须声明和初始化值
       int i =10;
       System.out.println(i);

       //变量类型 变量名字 = new Demo05();
       Demo04 demo04 = new Demo04();
       System.out.println(demo04.age); // 0
       System.out.println(demo04.name); //null

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

       System.out.println(PI);
  }
   //常量
   static final double PI=3.14;
}

 

变量的命名规范:

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

  • 类采用变量:首字母小写和驼峰原则(除第一个单词以外,后面的单词首字母大写lastName)

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:Man,GoodMan

  • 方法名:首字母小写和驼峰原则:run(),runRun()

标签:03,01,Java,String,int,System,类型,println,out
来源: https://www.cnblogs.com/xsyw/p/15180655.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有