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;

}

}

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351

推荐阅读更多精彩内容