shehailong
Java开发环境
一、Linux操作系统
二、Java开发环境
  1.Java编译过程
  >.程序员编写的Java源文件(.java)首先要经过编译,生成字节码文件(.class);
  >.Java程序运行需要JVM的支持,JVM是安装在操作系统上的软件,为字节码文件提供运行环境。
  >.一次编程到处使用-跨平台性
  >.Java官方提供了针对不同平台的JVM软件,遵循着相同的规则,只要是class文件,就可以在不同的JVM上运行。
2.JVM、JRE、JDK之间的关系(面试)
  >.JDK-Java Development Kit
  Java开发工具包
  >.JRE-Java Runtime Environment
  Java运行环境
  >.JVM- Java Virtual Mechines
  Java 虚拟机
 
 
3.安装JDK
  1.官方网址www.oracle.com
  2."傻瓜式"安装
  3.默认位置 : C:\Program Files\Java

4.配置环境变量
   4.目的:让操作系统可以找到命令文件(jdk和jre 的bin目录)所在的目录。
  5.环境变量下的系统变量中的Path去配置。
  6.配置环境变量的步骤:
  7.我的电脑->右键->属性
  8.配置JAVA_HOME

 

   9.配置Path

 

  10.配置CLASSPATH
5.控制台的HelloWorld
  1. 在任意盘符下新建一个HelloWorld.txt
  2. 输入代码如下
public class HelloWorld{ 
    public static void main(String[] args) { 
    System.out.println("hallo");
     }
 }
  3. 将HelloWorld.txt改为HelloWorld.java
  4. 打开cmd命令提示符编译运行源程序
二、Eclipse IDE
  1.Eclipse简介
  >.IDE(Integrated Development Environment)集成开发环境,能为程序员开发简化步骤。集成的是编译、调试、提交、重构等。
  >.官网:www.eclipse.org
 
 
 
Java变量
  什么是变量?
  在变量中开辟的空间,用于存放运算过程中需要的用到的数据。
  int a =5; int b=10 ; int c =a+b;
 
一、变量的声明– 变量类型 变量名
  1.未经声明的变量不能使用
       >.变量的使用必须声明
    >.常见的拼写错误,是错误变量没有被声明。
  2.一条语句中声明多个类型的变量
    >.中间用逗号隔开
    int a = 1,b=2;
二、变量的命名
  1.命名需要符合标识符的语法
    >.由字母、数字、_和$组成
    >.首字符不能以数字开头
    >.大小写敏感
    >.不能使用Java保留字 goto
    >.不能使用关键字
    >.中文可以命名但不建议
  2、在声明时初始化 *
    变量类型 变量名称 =值;
三、变量的初始化
  int a =10;    //给整形的a赋值为10;
  1.在第一次使用变量前初始化
int a;
a=100;
int sum =a+sum;
四、变量的访问
  1.可以对变量中的值进行存取、操作
    >.变量是存放数据的空间,可以对其赋值、更改和操作;
     >.对变量的操作其实是对变量中存储的数值的操作。
  
int a =100;
a+=100; //本行代码也等于 a =a +100;
//将变量a中的值加上100后所得的结果存储在变量a中。
 
  2.变量的操作必须类型匹配(重点)
     >.变量在指定声明类型后,Java编译器会检测对该变量的操作是否类型匹配,如果不匹配则编译错误。
  
int salary ; 
// salary =10.0 ;  整数是不可以给赋浮点数的值
double money;
//money =13.9/2;  这个是肯定是浮点数
Java的基本类型
  >.8种基本类型
      byte –> short -> int-> long -> float -> double
   >.8种基本类型所占字节空间
     

 

 一、int

  >.整数的直接量为int。

 

  >.存储范围: -2147483648~2147483647 -2^(n-1) ~~~ 2^(n-1) -1-2^31 ~ 2^31-1 -2^63~2^63-1
1. 整数的直接量为int
  >.直接量(literal)表示直接写出的整数。
  int a = 100; //100就是直接写出整数,类型默认为int。
  >.整数直接量的数字必须在int的范围内。
  >.除了进制书写形式外,整数的直接量也经常写为16进制数值,以0X或0x或者8进制的0开头。

  

int c = 0x10;//16进制整数直接量
int d = 020;//8进制整数直接量 
System.out.println(c);
 System.out.println(d);
2.整型数据的除法运算中的取整
  >.除法运算保留整数部分,舍弃小数部分
//2.整数除法运算中的取整
 int q = 5/3;//1 
System.out.println(q); 
int total = 87;
 int error = 23; 
int percent = error / total * 100; 
System.out.println(percent + " %"); //0 
percent = 100 * error / total;
 System.***out\***.println(percent + "%");//26
3.运算时要防止溢出发生
  >.整数运算的溢出:两个整数进行运算时,其结果可能会超出整数的范围而产生溢出。
//3.防止整数运算发生溢出 
byte w = (byte)(127 + 1);
 System.out.println(w);//-128
二、long
  >.在表示较大整数的时候,int范围不够的情况下,范围:-2^63~2^63-1.
  >.表示long类型的直接量,需要以L或者l结尾。
long l1 = 2147483647;//对的 
long l2 = 2147483648;//编译错误,超出整数直接量的范围,也就是int值得范围。
1.使用long类型进行较大整数的运算
  >.较大整数:超过int范围的整数
    
long distance1 = 1000*365*24*299792458;//使用较大整数运算 System.out.println(distance1);
//4个int相乘结果一定为int,则超出int范围导致溢出! long distance2 = 1000*365*24*299792458L; System.out.println(distance2);//4个int乘long,结果一定为long
2.通过时间毫秒数来存储日期和时间
  >.JDK提供了一个方法,返回1970年1月1日0点0分0秒到此时此刻所经历的毫秒数,其数据类型为long。
  
long time = System.currentTimeMillis();
 System.out.println(time);

 三、double

  >.小数的写法有一下几种:
  1. 1>.通常写法:3.14 、314.0
  2. 2>.科学计数法: 1.25E2、1.25e2、1.25E-2eg:1.25E2 1.25*10^2=125.0
  >.默认浮点直接量为double类型。如果需要表示float类型,则需要在末尾加F或者f。
  float f = 1.25F;
2.double运算时会出现舍入误差(面试)、
  >.2进制中无法精确地表示1/10,就和10进制无法精确表示1/3一样。
  >.二进制表示10进制可能会有误差。
  
double money = 3.0; 
double price =2.9;
 System.out.println(money- price);//输出结果为0.100000000009 舍入误差!
四、char
  >.本质16位无符号的整数。对应的是字符集的编码。
  >.采用的编码是Unicode编码(世界通用的定长字符集,所有字符都是16位)。
    
//字符型
 char c1 = \'中\'; 
char c2 = \'\u4e2d\'
; char c3 = (char) (c1 + 1); 
int i = \'中\' + 1;//\'中\' 20013 //0000 0000 0001 0000 == 16 
int z = \'中\';//20013 
char c4 = \'1\'; 
char c5 = 1; 
System.out.println(c1);//
System.out.println(c2);//
System.out.println(c3);//不认识的汉字
 System.out.println(i);//20014
 System.out.println(z);//20013
 System.out.println(c4);//1
 System.out.println(c5);//_
1.对char型变量进行赋值
   整型变量 : 0~65535之间的整数数值
   字符直接量 :用单引号括起来的内容就为字符的实际内容 ‘A’ ‘1’
   Unicode形式:‘\u004e’、‘\u4e2d’,Unicode 的16进制形式
char a =65;
char a =\'a\';
char a=\u0041\'\';
System.out.println(c1);//A
System.out.println(c2);//A
System.out.println(c3);//A
2.使用转义字符
  对于不方便输出的字符采用转义
  
五、boolean
  1. booean是逻辑运算类型
  2. 赋值只有 true 或者 false
  3. 经常用于存储关系运算的结果值

   

int age =18;
boolean isage = age >16;
System.out.println(isage);// true
六、(重点)基本类型间的转换
  1.基本类型转换
    自动类型转换(隐式类型转化): 小类型 --> 大类型
    可以自动转换的,且大小关系如下图:
    强制类型转换:大类型 -->小类型
    需要转换符,格式为: (需要转化的类型) 变量
    注意:这样转化可能 精度丢失或者 溢出。
 
2.强制转化时的精度丢失和溢出
  
int a=100;
int b=200;
int c=a+b;
System.out.println(c); //答案为:300

long  b=200l;
int a =(int)b; //强行转换
System.out.println(a); //输出:200
 
long l = 1024L*1024*4*1024;
4*1024; int j = (int)l;//0
System.out.println(j);
double pi = 3.141592654789456132;
 float f = (float)pi;//3.1415927 造成精度丢失
 System.out.println(f);
 
  精度丢失:转化后存储的小数位不是原来的小数位。
3.数值运算时的自动转换
  多种基本类型参与的表达式运算中,运算结果会自动向较大类型转换。
  
//3.多种基本类型参与运算会向较大类型转换
long l3 = 123*456*789L;//int*int*long 向long转化
double d = 500-599.0;//-99.0
double persent2 = 80/100.0;//0.8
4.byte、short、char转化为int
  byte、short、char实际存储数值都为整数
  在参与运算时,会将byte、short、char都转化为int在进行运算。
  
int a =12;
int b =3;
int c = \'a\';
int sum =a+b+c; //80

运算符

一、算术运算
  1.使用%运算符
    Java中的运算符除了加减乘除外,还有取余(%)运算及自增(++)自减(--)
   取余(取模),意为取余数,可用于整数、char和浮点数。
//取余
int n=225char n2 = \'A\';
double n3 = 16.8;
System.out.println(n3%8);//0.8000000000000007
2.自增和自减运算
  前置自增自减: 先自增自减后运算
   后置自增自减: 先运算后自增自减
int a =10 ;
int b =21;
int a1 =a++;
int b2 =b++;
System.out.println("a="+a +","+"b="+b+","+"a1="+a1+","+"b1="+b1);
// 10  21  11 22
  结论:
     变量无论是前置还是后置运算其结果一定为+1
    只在使用它的时候考虑其前置和后置规则
 
 
 
 
 
 
 

 

 

posted on 2021-11-25 23:33  SheHL_ProMonkey  阅读(1)  评论(0编辑  收藏  举报

分类:

技术点:

相关文章: