hello world

123.java  存放java代码的文件叫作源文件

Demo.class 叫作中间文件或者二进制文件

主函数对于类来说不是必须的,需要类执行就需要类里带主函数。

一个文件中可以有多个类,每个类都可以带一个主函数。

public class Demo  //如果加了public,源文件和class文件名必须一致。
{
    public static void main(String[] args)
    {
        System.out.println("hello java");
    }

}

classpath : 类文件所在路径

环境变量和当前目录中都有class文件,会执行环境变量中的class文件。

临时配置classpath

set classpath = c:;    //先从环境变量中找class文件,找不到,再从当前目录中找

set classpath = c:     //只从环境变量中找class文件。不在当前目录中找。不加分号比较好,因为加了分号有时会得到意想不到的执行结果。

set classpath =            //清空环境变量

注释:

//  单行注释

/**/  多行注释

/**  */   文本注释

多行注释不能嵌套多行注释。

  

1、需求:为什么开发这个软件  2、思路:对实现需求的想法  3、步骤:代码实现

java语言基础:

1、关键字

2、标识符

3、注释

4、常量与变量

5、运算符

6、语句

7、函数

8、数组

标识符

定义标识符的规则:

1、数字不可以开头

2、不可以使用关键字

3、java中严格区分大小写

标识符规范:

包名:所有字母小写    xxxyyyzzz

类名接口名:单词首字母大写  XxxYyyZzz

标量名和函数名:第一个单词首字母小写,第二个单词开始首字母大写  xxxYyyZzz

常量名:所有字母都大写,单词之间用下划线连接。    XXX_YYY_ZZZ

 常量

Java中常量的分类:

1、整数常量:所有整数

2、小数常量:所有小数

3、布尔型常量:true、false

4、字符常量:一个数字、字母或者符号用单引号标识的数据

5、字符串常量:用双引号标识的数据

6、null

对于整数java有三种表现形式:

1、十进制

2、八进制

3、十六进制:用0x形式表示

字节:  8个二进制位代表一个字节

二进制在内存中的表现形式是:  4个字节    比如1表示成:0000-0000 0000-0000 0000-0000 0000-0001

负数二进制:  正的二进制取反,然后加1:

  比如-1:1111-1111 1111-1111 1111-1111 1111-1110 然后加1  就是1111-1111 1111-1111 1111-1111 1111-1111

变量:

  定义变量要先定义变量的数据类型,内存会分配不同大小的内存空间 ==》强类型语言。

byte  占一个8位  -128 到 127

int  占4个8位

float  占4个8位

字符  占2个8位

int和float类型的数据进行运算,结果是float类型。

byte与int相加

自动类型转换

byte  b = 3
b = b + 3
  1. 3是一个固定的值,会做一个自动类型转换,转换成byte类型的数据。所以能赋值给byte类型的空间;
  2. b+2的值可能会超过byte类型的空间的范围,需要将b+2的结果强制转成byte类型,才能赋值给byte类型的空间。

强制类型转换

byte  b  =  2
b  =  (byte) (b  +  3)      //将b+3的结果强制转换成byte类型。
  1. float 和 int 占4个8位。如果float和int类型的数据进行运算,结果是float
  2. 字符和数字相加,结果是数字。
  3. byte类型的值和int类型的值运算会转换成int类型的值。

 

string和int相加

字符和数字相加 会按照ASSIC码中字符对应的数字 与数字相加:

System.out.println('a'+1);  //结果是:98

  原因:英文字符占1个8位,数字占4个8位。相加之后字符会提升到4个8位即整数。

运算符:

1、算术运算符

2、赋值运算符

3、比较运算符

4、逻辑运算符

5、位运算符

6、三元运算符

算数运算符:

取模:

 左边小于右边,结果是左边

右边是1结果是0

左右相等,结果是0

如果出现负数,结果看左边,左边是负数结果就是负数。左边是正的结果就是正的。

自加自减:

a++  先赋值再运算

++a  先运算再赋值

int  a  =  3,b;
b = a++;                       //a先赋值给b之后,再自加1(a=a+1)
System.out.println(b);    //结果是3
System.out.println(a);    //结果是4

字符串连接符 +:

字符串数据和任何数据使用+相连接,最终都会变成字符串。

System.out.println("5+5="+5+5)      //结果是"5+5=55"

转义字符:

  :将特殊含义的字符转义成纯字符。

:换行

:退格,相当于backspace

:按下回车键。Windows系统,回车键是

:制表符,相当于tab键。

赋值运算符:

+=    -=    *=    /=    %=
short s = 4;
//两者的区别在于,+=会做数据类型的自动转换
s = s + 5;    //编译会失败,因为s会提升为int类型运算的结果还是int类型,无法赋值给short。右边的和赋值给左边,做两次运算:先相加再赋值。
s+=5;        //编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。左右两边的和赋值给左边。只做一次运算:赋值

 逻辑运算符:

java不允许 6 < x < 3 这种表达形式

&      // 与     皆true为true,一false为false
&&  // 短路与    左为false,右不运算。
|     // 或      一True为true。
||  //短路或    左为true,右不算
!    // 非      !true  为假
^      //异或     两边不同为true。

位运算

 

2、

 ps:因为4位1是15,是16进制中单位最大的数。如果换算成8进制就是每三位(7)对应一个8进制数

怎样将10进制的数变成16进制中的字母:

A对应的ASCII码值是65

 

 三元运算符:  

 

a会被提升成整数,因为他和200一起进行运算

 

思考:

根据一个整数,获得16进制&15,获得8进制&7,获得二进制&1

代码示例:

class Demo 
{
    public static void main(String[] args)
    {
        byte x = 127;
        x = (byte)(x + 10);
        System.out.println(x);
    }
}
class Demo
{
    public static void main(String[] args)
    {
        System.out.println('a'+1);
    }
}
class Demo
{
    public static void main(String[] args)
    {
        int x = 4270;
        x = x /1000 * 1000;
        System.out.println(x);    //结果是4000,x除以1000的结果带小数点,因为x整型,得到的结果也是整型,所以小数点右边的被砍掉了。
    }
}
原文地址:https://www.cnblogs.com/linuxws/p/10103119.html