java编程起步

java编程相关的基础知识

java编程起步


public class Hello {

public static void main(String args[]) {

         System.out.println("Hello World !") ;

}

}

对源程序进行编译 javac Hello.java

public class 类名称{} 类名称必须与文件名称保持一致,一个*.java 文件中只允许有一个public class

class 类名称{} 类名称可以与文件名称不一致,但是编译后的*.class 名称是class定义的类名称,要求解析的时候解析的是*.class 文件,一个*.java文件中可以又多个class定义

java 类名称的首字母必须大写

java 的主方法


[public] class 类名称{

public static void main(String args[]){

//程序的代码由此开始执行

}

}

PATH: 是操作系统提供的路径设置,定义可执行程序的路径

CLASSPATH: 是由JRE提供的,用于定义java程序解释时类加载路径,默认设置的为当前所在路径加载,可以通过“CLASSPATH=路径” 的命令形式来进行定义;

  • 关系: JVM --- CLASSPATH定义的路径 --- 加载字节码文件。

java注释

单行注释: //注释内容

多行注释: /* .... */

文档注释: /** ... */ 一般通过工具进行加注释

标识符与关键字

java 中的关键字是不需要背的,

JDK1.4 出现有assert 关键字,用于异常处理

JDK1.5的时候出现enum关键字,用于枚举定义上

未使用到的关键字: goto、const

java数据类型

基本数据类型

描述的是一些具体的数字单元

  1. 数值型:
  • 整型:byte、short、int、long

  • 浮点型:float、double

  1. 布尔型:boolean 默认值 false

  2. 字符型:char

引用数据类型

牵扯到内存关系的使用

数组、类、接口 默认值 null

参考原则

  • 如果要描述数字首选的一定是int(整数)、double(小数)

  • 如果要进行数据传输或者进行文字编码转换使用byte类型(二进制处理操作)

  • 处理中文的时候最方便的操作使用的是字符char 来完成(可选概念)

  • 描述内存或文件大小、描述表的主键列(自动增长) 可以使用long

int类型


public class JavaDemo{

public static void main(String args[]){

int x = 10;

System.out.println(x*x);

int max = Integer.MAX_VALUE;//获取 int 的最大值

int min = Integer.MIN_VALUE; // 获取 int 的最小值

System.out.println(max); //2147483647

System.out.println(min); //-2147483648

System.out.println(max + 1L); //-2147483648

System.out.println((long)min - 1); //2147483647

}

}

数字超出了最大保存范围,产生了循环问题, 这样的问题在java中被称为数据溢出,如果超出数据溢出,可以继续扩大使用范围long

程序支持有数据转化处理,但是如果不是必须的情况下不建议使用强制类型转化

浮点型数据

所有数据类型进行自动类型转化时都是小类型到大类型转化。

字符型

在java 中使用单引号''定义的内容就是一个字符。


public class JavaDemo{

public static void main(String args[]){

char c = 'I';

int num = c;

num = num - 32;

System.out.println((char)c);

}

}

字符可以和int进行相互转化

"大写字母的范围": 'A'(65) ~ 'Z'(90);

"小写字母的范围" : 'a'(97) ~ 'z'(122);

"数字范围": '0'(48) ~ '9'(57);

通过编码范围可以发现大小写字母之间差32个数字的长度。

Java 中的char 主要是用于中文处理,java 中的char进行中文的保存, 是因为java使用的是Unicode编码,主要特点是可以包含任意的文字内容,使得程序开发更加的简单。

布尔类型

用于进行逻辑判断 boolean

String 字符串

在任何语言里里面都没提供所谓字符串的数据类型,但是从实际的使用上来讲各个编程语言为了方便程序的开发,都会提供有字符串的相应描述,在java里面使用的是String作为字符串的定义。

由于String类的存在比较特殊,可以像普通变量那样采用直接赋值的方式进行字符串的定义,""表示字符串。

'+'号可以进行字符串的链接。

转义字符

运算符

所有的程序开发都是一种数字的处理游戏,那么对于数字的处理一定会有所谓的操作模式,而这些操作模式就称为运算符。

数学运算符

在Java中进行数学运算,谨记一定要简单

关系运算符

> < >= <= == !=

三目运算符


public class JavaDemo{

public static void main(String args[]){

int x = 10;

int y = 20;

int max = x > y ? x : y;

}

}

三目运算符也可以进行嵌套操作,但是程序的可读性很差。

位运算

与(&),或(|) 异或(^) 非(!)

左移(<<) 右移(>>)

逻辑运算 && ||

分支与循环

分支结构


public class JavaDemo{

public static void main(String args[]){

//if分支结构主要是针对关系表达式进行判断处理的分支操作

//if(布尔表达式)

//{条件满足时执行}

//else if(){}

//else if(){}

//else {}

int age = 18;

if(age >= 18 && age <= 20){

System.out.println("you are so young!");

}

System.out.println("Love your life");

}

}

多条件判断是,记住一定要写else 语句

switch

while语句


public class JavaDemo{

public static void main(String args[]){

int sum = 0;

int num = 1;

while(num <= 100){

sum += num;

num ++;

}

do{

sum += num;

num ++;

}while(num <= 100);

System.out.println(sum);

}

}

实际开发过程中使用do...while的概率为1%

for循环


public class JavaDemo{

public static void main(String args[]){

int sum = 0;

for(int num = 1; num <= 100; num++)

{

sum +=

}

System.out.println(sum);

}

}

明确循环次数的情况下优先选择for循环

在不知道循环次数但是知道循环结束条件的情况下使用while循环;

循环控制

continue break;


public class JavaDemo{

public static void main(String args[]){

for(int i = 1; i <= 9; i++){

for(int j = 1; j <= i; j++)

{

System.out.print(j + "*"  + i + "=" + (j*i) + "\t");

}

System.out.pirntln();

}

}

}

方法的定义

在程序之中很多情况下是有可能需要重复调用的代码,

方法在主类中定义,并且由主方法进行直接调用

public static 返回值类型 方法名称([参数列表]){

return[返回值];

}

方法命名规则驼峰式 printMessage

方法的本质就是方便使用者进行重复调用

如果方法的返回值类型为void,那么可以利用return来结束调用


public class JavaDemo{

public static void main(String args[]){

}

public static void sale(int money){

if(money < 0)

{

return ;

}

for(int x = 1; x <= money; x++){

System.out.println("I love you SUSU");

}

}

}

方法重载

当方法的名称相同,参数的类型或个数不同的时候就称为方法的重载, 方法的重载与返回值类型没有任何关系。


public class JavaDemo{

public static void main(String args[]){

}

public static int sale(int a, int b){

return a + b;

}

public static int sale(int a, int b, int c){

return a + b + c;

}

public static double sale(double a, double b){

return a + b;

}

}

递归操作虽然可以简化调用,但在实际的开发中很少使用递归, 大部分只考虑一些简单的处理逻辑,递归处理不当,还可能造成内存溢出。

你可能感兴趣的:(java编程起步)