1 包的概念

  把一个项目分割成几个模块,为每一个模块建立包,把该模块的.java文件统一放到对应包,通过包更好的管理.java文件,并且更好的分工合作。可以尽量避免出现.java文件重名现象。

  包命名的规则:
    com.公司名.项目名.模块名
  或者
    org.公司名.项目名.模块名
    eg:
      com.kalos.owen.login
      org.kalos.owen.reg

2 变量(二)
  1)同时定义相同类型的多个变量
    数据类型 变量名1,变量名2,变量名3...
    eg: int a,b,c;
    案例:Demo1

package com.kalos.demo;

public class Demo1 {
//编写一个main方法,定义4个int类型变量num1,num2
//num3,num4,分别把100,200,300,400给num1,
//num2,num3,num4赋值,最后输出每一个变量的值
public static void main(String[] args) {
/* int num1;
int num2;
int num3;
int num4;
*/
int num1,num2,num3,num4;
num1 = 100;
num2 = 200;
num3 = 300;
num4 = 400;
//syso+alt+/,自动生成输出语句
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}

  2)变量的初始化:给变量的第1次赋值,称为变量的初始化。
    定义变量的同时,直接给变量赋值(初始化)。
    eg: int num = 100;
    案例:Demo2

package com.kalos.demo;

public class Demo2 {
//main + alt + / + 回车:自动生成main方法
public static void main(String[] args) {
int num1=100,num2=200;
System.out.println(num1);
System.out.println(num2);
}
} //在Demo3的main方法中定义3个int类型a,b,c,分别把
//100,200,300给变量赋值,最后输出每一个变量的值
package com.kalos.demo; public class Demo3 {
public static void main(String[] args) {
int a=100,b=200,c=300;
System.out.println("a="+a);
System.out.println("b的值是"+b);
System.out.println("c="+c);
}
}

  

  3)System.out.println("要显示的内容"+变量名);
    System.out.println("num="+num);
    num=100
  4)变量必须要先定义,然后才可以使用
    案例:Demo4

package com.kalos.demo;

public class Demo4 {
public static void main(String[] args) {
// num=100;
//变量必须要先定义,然后才可以使用。
int num1;
// System.out.println(num1);
//变量只有赋值(初始化)以后,才可以进行算术运算或者
//输出
}
}

  5)变量只有进行初始化以后,才可以进行输出或者参与算术运算
  6)在同一个作用域({ })中,变量名不能重复。
    案例:Demo5

package com.kalos.demo;

public class Demo5 {
public static void main(String[] args) {
int num = 200;
System.out.println(num);
// int num;
//在同一个作用域({}),变量名不能重复
}
}

3 标识符:java中起名字的规范
  1)标识符可以以字母,下划线_或者美元符号$开头,后面可以跟数字,字母,下划线_或者美元符号$。
    切记:千万不要以数字开头。
    正确: int a_1,b$,_a;
    错误: int 1a,2num;
  2)标识符中只有两个特殊字符:下划线_和美元符号$
    错误: int a!,a¥,num&;
  3)标识符严格区分大小写
    int S,s; //S和s是两个不同的变量
  4)标识符中不能出现空格
    错误: int a b;
  5)不能使用关键字命名
    关键字:sun公司设计Java的时候,提前对一些单词赋予了特殊的含义,这些单词就是关键字,比如:int,public,static...
    错误:int int;

4 Java中的数据类型:基本数据类型和引用数据类型
  1)基本数据类型:4类8种
    a)整数类型:byte , short , int , long
    b)浮点(小数)类型:float,double
    c)布尔类型:boolean
    d)字符类型:char
  2)引用数据类型:sun公司或者其他开发人员为了简化开发,而单独设计的全新的数据类型。

5 整型数据类型(整数类型):byte,short,int,long
  1)byte: 取值范围-128~127之间,8位
    01111111 = 1+2+4+8+16+32+64
          = 7+24+96
          = 127
    byte取值范围太小了,测试中使用极少,但在开发中经常使用byte类型来实现上传和下载,记住byte的取值范围。
  2)short:取值范围正负3W左右,16位,short取值范围太小,企业中使用极少。
  3)int:取值范围正负21亿左右,32位,取值范围大,int是企业也中使用最为广泛整数类型。
  4)long:超过int的取值范围都使用long来保存,64位,取值范围最大整数类型,企业中使用也极其广泛。
    int a = 100;
  5)字面量:参与算术运算或者赋值运算的数字,称为字面量。
    整型字面量默认是int类型。
    a)如果给byte或者short类型的变量赋值,系统会自动把整型字面量的类型由当前默认int类型,转换为对应byte或者short类型
      eg: byte num1 = 100; //100: int--->byte
    b)如果整型字面量的取值超过了int的取值范围,必须在该字面量的末尾加上L或者l,把该字面量由当前默认的int类型,转换为long类型。
    c)字面量也可以称为常数(了解)。
      案例:Demo6

package com.kalos.demo;

public class Demo6 {
//整型类型:byte,short,int,long
//byte:-128~127 , 8位,测试中使用极少
//short:正负3W左右 ,16位,使用极少
//int: 正负21亿左右,32位,使用最为广泛
//long: 超过int的取值范围,使用long,64位,使用广泛
//字面量:参与赋值或者算术运算的数字,称为字面量,整型
//字面量默认是int类型。
//1 给byte或者short类型变量赋值,系统会自动的把
//整型字面量由当前默认的int,转换为对应short或者byte
//2 如果整型字面量的取值超过int取值范围,必须在该
//字面量的末尾加上L或者l,把当前字面量由int类型转换
//为long类型
public static void main(String[] args) {
byte num1 = 100;
//分析:字面量100由当前默认int类型自动的转换为对应
//byte类型,赋值给num1
System.out.println(num1);
short num2 = 1000; //int--->short
System.out.println(num2);
int num3 = 100000;
System.out.println(num3);
long num4 = 10000;
System.out.println(num4);
// long num5 = 100000000000;
//报错了,100000000000超过int的取值范围。
long num6 = 100000000000L;
System.out.println(num6);
}
}

6 浮点数据类型(小数):float,double
  1)float:单精度,32位,虽然float占了32位,但是由于存储结构不同,float取值范围远远大于64位long,由于取值范围和精度都不如double,在企业中,float没有double使用广泛。
  2)double:双精度,64位,取值范围大,精度高,企业中使用最为广泛浮点类型。
  3)浮点类型字面量默认就是double类型,如果给float类型的变量赋值,该浮点类型字面量的末尾必须加上F或者f,把该字面量由默认double类型转换为对应float类型。
    案例:Demo7

package com.kalos.demo;

public class Demo7 {
//浮点类型:float,double
//float:32位,由于存储结构不同,32位float取值范围
//远大于64位long。没有double使用广泛。
//double:64位,取值范围大,精度高,使用最为广泛的
//浮点类型。
//浮点类型的字面量默认double,如果给float类型变量
//赋值,在该浮点类型字面量的末尾加上F或者f。
public static void main(String[] args) {
double num1 = 100.666;
System.out.println("num1="+num1);
float num2 = 1.66F;//double-->float
System.out.println("num2="+num2);
}
}

7 布尔类型:boolean
  boolean :用来保存一个判断的结果,要么true,要么false
    eg:boolean result = false;
      boolean result = 100>50;   //true
  案例:Demo8

package com.kalos.demo;

public class Demo8 {
//布尔类型:保存一个判断的结果,要么true,要么false
public static void main(String[] args) {
boolean result1 = false;
System.out.println("result1="+result1);
boolean result2 = true;
System.out.println("result2="+result2);
boolean result3 = 100>200;
// false
System.out.println("result3="+result3);
}
}

8 字符类型:char
  1)char:用来保存一个任意的字符,可以是字母,中文,日文...
    char 变量名 = '单个字符';
    不能赋空值
    eg:
      char c1 = 'a';
      char c2 = '中';
      '1' 和 1
      '1'是一个字符,显示作用
      1是数字,可以进行算术运算
      char c3 = '1';
    案例:Demo9

package com.kalos.demo;

public class Demo9 {
public static void main(String[] args) {
char c1 = '夏';
System.out.println(c1);
char c2 = '中';
System.out.println(c2);
char c3 = 'z';
System.out.println(c3);
char c4 = '6';
System.out.println(c4);
// char c5 = '10';
//char类型的变量,只能保存一个字符,'10'是'0'和'1'
//两个字符
// char c6 = '';不能把空赋值给char类型变量
char c7 = ' ';//空格也是一个字符
}
}

  2)char类型字符可以自动转换为一个int类型数字
    eg:
      char c1 = '中';
      int num1 = c1;// '中'------>20013
    案例:Demo10

package com.kalos.demo;

public class Demo10 {
public static void main(String[] args) {
char c1 = '中';
int num1 = c1;
//分析:首先c1中的'中'自动类型转换,由当前的char类型
//自动的转换为int类型('中'---->20013),最后把
//20013赋值给num1
System.out.println(num1);
char c2 = '华';
int num2 = c2;
//'华'----->21326,最后把21326赋值给num2
System.out.println(num2);//21326
}
}

  3)如果使用“+”连接多个char类型字符,首先在底层把char类型字符先转换为对应int类型的数字,然后执行加法运算。
    案例:Demo11

package com.kalos.demo;

public class Demo11 {
public static void main(String[] args) {
char c1='艾',c2=薇',c3='儿';
int sum = c1+c2+c3;
System.out.println(sum);
}
}

  4)char用来处理字符较为麻烦。

9 String:字符串

  sun公司设计的一个引用类型,专门用来处理字符问题,企业中主要使用String来处理字符问题。
  1)格式:
    String 变量名 = "0个或者多个字符";
    eg:
      String str1 = "你好";
  2)使用"+"来串联多个String,返回结果也是String
    案例:Demo12

package com.kalos.demo;

public class Demo12 {
public static void main(String[] args) {
String str1 = "";
System.out.println(str1);
String str2 = "今天天气很好!";
System.out.println(str2);
String str3 = "生命中总有生生不息的希望,";
String str4 = "和不期而遇的温暖!";
String str5 = str3 + str4;
System.out.println(str5);
}
}

  3)使用"+"来连接String和其他类型数据,返回结果也是String
    案例:Demo13

package com.kalos.demo;

public class Demo13 {
public static void main(String[] args) {
String str = "今天:";
int num1 = 100;
String str1 = str + num1;
System.out.println(str1);
double num2 = 6.99;
String str2 = str + num2;
System.out.println(str2);
boolean num3 = false;
String str3 = str + num3;
System.out.println(str3); }
}

10 自动类型转换

  数据会自动由取值范围小的类型向取值范围大的类型转换
  1) byte->short->int->long->float->double
    由于存储结构的不同,32位float的取值范围远远大于64位long
    char->int
    eg:
      int num1=100;
      double num2 = num1;
      分析:num1中100会进行自动类型转换,由当前默认的int类型自动的转换为double(100----->100.0),最后把100.0赋值给num2。
  2)自动转换不损失精度。

package com.kalos.demo;

public class Demo14 {
public static void main(String[] args) {
int num1 = 10;
double num2 = num1;
//分析:首先num1中10进行自动类型转换,由当前的int
//类型自动转换为double(10-->10.0),最后把10.0
//赋值给num2
System.out.println("num2="+num2);
byte num3 = 110;
double num4 = num3;
//110--->110.0(byte--->double),最后把110.0
//赋值给num4
System.out.println("num4="+num4);
}
}

11 强制类型转换

  根据需要把数据强制的转换为所要求的类型
  1)格式: (要转换的类型)数据
    eg:
      double num1 = 100.99;
      int num2 = (int)num1;//100
  2)由浮点类型的数据强制的转换为整数,舍弃小数点后所有的数字。
  3 ) 强制类型转换容易损失精度。
    案例:Demo15

package com.kalos.demo;

public class Demo15 {
public static void main(String[] args) {
//强制类型转换格式:(要转换的类型)数据
//强制类型转换容易损失精度
double num1 = 100.9999;
int num2 = (int)num1;//100
System.out.println("num2="+num2);
//由浮点类型的数据强制转换为整数,舍弃小数点后所有的
//数字。 }
}

Java语言基础(2)的更多相关文章

  1. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

  2. java语言基础02

    一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...

  3. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  4. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  5. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  6. Java语言基础(二) Java关键字

    Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...

  7. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

  8. Java语言基础(八)

    Java语言基础(八) 一.数学运算  + - * /  % (1)凡是byte  short  char类型都按int类型的计算   看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...

  9. Java语言基础(七)

    Java语言基础(七) 今天在公司多呆了会,回来晚了 一.自动类型转换 在Java中,数据是可以转换的  例如可以将byte类型的赋给int类型的 这里希望你了解内存的变化,例如 在这里,我想你应该知 ...

  10. Java语言基础(六)

    Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...

随机推荐

  1. iOS类型的转换

    1.NSData和NSString的转换: - (void)viewDidLoad { [super viewDidLoad]; // 字符串 NSString *str = "; NSLo ...

  2. iOS限制输入解决方法

    关于iOS 键盘输入限制(只能输入字母,数字,禁止输入特殊符号): 方法一: 直接限制输入 - (void)viewDidLoad { [super viewDidLoad]; textField = ...

  3. C# Path.Combine 缺陷(http路径用Uri类)

    Path.Combine: 什么时候会用到Path.Combine呢?,当然是连接路径字符串的时候! 所以下面的代码可以完美的工作: public static void Main() { strin ...

  4. appium+python等待方式使用

    背景: 首先,由于一个网速和手机性能以及服务器反应时间等等的原因,不可能导致我们点击了某一个元素之后,它所要链接的页面马上弹出来可以进行下一步操作.所以我们需要一种等待方式,直至链接的页面跳出来之后再 ...

  5. spring-boot集成2:集成lombok

    Why lombok? lombok可以帮我们从实体类的getter.setter.constructor和toString等样板代码中解脱出来,使用lombok可以开发出更优雅的代码 1.maven ...

  6. Python:Django 项目中可用的各种装备和辅助

    1 Redis 数据库 2 MySQL 数据库 3 前端服务器 live-server 4 定时任务 django-crontab扩展 5 Docker 容器 --用来运行 FastDFS 分布式文件 ...

  7. MathType 6.0中MT Extra(TrueType)问题

    问题 MathType 6.0中MT Extra(TrueType)字体问题在打开MathType6.0时,有时会提示MathType需要安装一个较新版本的MT Extra(TrueType)字体,这 ...

  8. zabbix监控ssl证书过期时间

    获取证书过期时间脚本: /etc/zabbix/scripts/check-cert-expire.sh: #!/bin/bash host=$ port=$ end_date=`/usr/bin/o ...

  9. Logger Rate Limiter

    Design a logger system that receive stream of messages along with its timestamps, each message shoul ...

  10. 【Python】【demo实验1】【Python运行时强制刷新缓冲区,输出信息】(Python3 应不存在类似情况)

    [原文] 需求:打印一颗 ”*” 休息1s 代码如下: #!/usr/bin/python #coding=utf-8 ''' 暂停1s输出 ''' import time def printStar ...