java开发第一步就是学习相关知识,打牢基础是关键,下面就和小编我一起从java基础学起吧,一起加油!

java方向主要包括三大块:

java se 桌面开发

java ee web开发

java me 手机开发

java开发工具包括:

记事本

jcreator

jbuilder

netbean

eclipse(最多)

jdk:

jre(java运行环境)

java的工具,java的编译器:javac.exe java解释执行器:java.exe

java的类库(3600多类)常用150个

JDK API 1.6.0(帮助文档)

注:public:表示这个类是公共的,一个java文件中只能有一个public类

class:表示这是一个类

hello:类名(公共类的类名必须和文件名一致)

编译java文件:

编译xx.java  javac xx.java

执行xx.java程序  java xx

java虚拟机(jvm):字节码文件(.class)就会在java虚拟机中执行

<只需将.class文件交给别人而无需将.java文件交出>

public class

{

//一个主函数,相当于是程序的入口

public static void main(String args[])

{

//执行语句

//System.out.println("hello!");

int a=10;//定义一个变量,变量名a,它的值10

int b=20;

int result=a+b;

//输出结果

System.out.println("结果是"+result);

}

}

  

java基本数据类型:

整数类型(byte 一个字节8bit-128~127,short两个字节 ,int四个字节 ,long 八个字节)

小数(浮点)类型 (float ,double)

布尔类型 (真 ,假)

字符类型 (char 是两个字节,可以存放汉字, 一个char只能接收一个字符)

<结论:在java中,对char进行运算时直接当做ascii码对应的整数对待>

精度:byte<short<int<long<float<double

import java.io.*;

public class Demo1

{

   public static void main(String []args)

   {

     try{

     //输入流,从键盘接收数

      InputStreamReader(System.in);

      BufferedReader br=new BufferedReader(isr);

      //给出提示

      System.out.println("请输入第一个数");

      //从控制台读取一行数据

      String a1=br.readLine();

      System.out.println("请输入第二个数");

      String a2=br.readLine();

      //把String->float

      float num1=Float.parseFloat(a1);

      float num2=Float.parseFloat(a2);

      if(num1>num2)

      {

         System.out.println("第一个大");

       }

      if(num1==num2)

      {

         System.out.println("相等");

       }

      if(num1<num2)

      {  

         System.out.println("第二个大");

       }

     }catch(Exception e)

      {

        e.printStackTrace();

       }

   }

}

java三大流程控制:

顺序控制

分支控制:单分支,双分支,多分支

(条件表达式数据类型应当和case后的常量类型一致)

switch中的可用数据类型主要是:允许byte,short,int,char,enum(枚举)等

循环控制:for循环,while循环,do while循环

半个金字塔:

public class Demo3

{

   public static void main(String []args)

   {

     int lay=4;

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

      {

        //打印*

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

          System.out.print("*");

         }

         //打出一个换行

         System.out.println();

       }

    }

}

金字塔:

public class Demo3

{

   public static void main(String []args)

   {

     int lay=4;

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

     {

       //找出空格规律

       //1->3  2->2  3->1  4->0

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

         System.out.print(" ");

         }

       //打印*

       //1->1  2->2  3->5 4->7

       for(int j=1;j<=(i-1)*2+1;j++){

         System.out.print("*");

       }

        //打出一个换行

         System.out.println();

        }

       }

  }

java面向对象编程-类与对象

类名首字母大写

类是抽象的,对象是具体的。类是对象的模板,对象是类的一个个体、实例

类的定义:

package 包名;

class 类名 extends 父类 implements

接口名{

成员变量;

构造方法;

成员方法;

}

类-类

类的成员方法-声明

public int test(int a);/*方法声明*/

(访问修饰符+数据类型+函数名+(参数列表);)

类的成员方法(函数)-特别说明

1.方法的参数列表可以是多个

类的构造方法:是类的一种特殊方法,主要作用是完成对新对象的初始化

特点:

1、方法名和类名相同

2、没有返回值

3、在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化

类的构造方法小结:

构造方法名和类名相同

构造方法没有返回值

主要作用是完成对新对象的初始化

在创建新对象时,系统自动调用该类的构造方法

一个类可以有多个构造方法

每个类都有一个默认的构造方法

this的重要性:

public class Demo3_1

{

   public static void main(String []args)

   {

    Person p=new Person(dog,23,"wang");

    p.showInfo();

    }

}

//定义一个人类

class Person

{

  int age;

  String name;

   public Person(int age,String name)

   {

     //可读性不好

       this.age=age;

       this.name=name;

     }

     //显示人名字

     public void showInfo()

     { 

         System.out.println("人名是:"+name);

      }

   }

类变量

静态变量:

public class Demo3_2

{

  static inti=1;

  static

  {

   System.out.println("a");    

//该静态区域块只执行一次

     i++;

   }

   public Demo3_2()

   {

     System.out.println("b");

     i++;

    } 

    public static void main(String []args)

    {

       Demo3_2 t1=new Demo3_2();

       System.out.println(t1.i);

       Demo3_2 t2=new Demo3_2();

       System.out.println(t2.i);

     }

}

类方法:

//学生

class Stu

{

   int age;

   String name;

   int fee;

   static int totalFee;

   public Stu(int age,String name,int fee)

   {

     this.age=age;

     this.name=name;

     totalFee+=fee;

    }

    //返回总学费[加static表明这是一个类方法(静态方法)]

    //java中规则:类变量原则上用类方法去访问

    public static int getTotalFee()

    {

      return totalFee;

     }

  }

注意:类方法中不能访问非静态变量(类变量)

使用:类名.类名方法  或者  对象名.类方法名

类变量与实例变量区别:

加上static称为类变量或静态变量,否则称为实例变量

类变量是与类相关,公共的属性

实例变量属于每个对象个体的属性

类变量可以通过类名.类变量名直接访问

JAVA(1)的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. 尺寸不固定的图片在div中垂直居中并完全显示

    前几天做一个项目,需要批量上传图片,图片外侧div尺寸固定:由于图片是用户输入的,所以大小存在不确定性,产品需求是无论图片尺寸多大,都要垂直居中完全显示 废话不多说,直接上代码 html <ul ...

  2. spark发行版笔记11

    本期概览: ReceiverTracker架构设计 消息循环系统 ReceiverTracker具体的实现 Spark Streaming作为Spark Core基础 架构之上的一个应用程序,其中的R ...

  3. 关于arcengine中geoprocessor使用的困惑

    最近在实验一个小功能,就是用arcengine10.1做一个小程序,将point类型的shp转换为polyline类型的shp文件,用到的工具是pointstoline,但就是在设置input_fea ...

  4. Java集合类学习笔记(Set集合)

    Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合中,则添加操作失败,add()方法返回false,且新元素不会被加入. HashSet类的特点: 不能保证元素的排列顺序,顺 ...

  5. Retrofit源码研究

    2016-05-06 15:35:27 最近抽空研究了一下Retrofit源码,包括API使用.源码结构.使用到的设计模式.SDK的架构设计.作者设计/实现思路等,会形成一系列文章. 以前Retrof ...

  6. WebPack 简明学习教程

    WebPack 简明学习教程 字数1291 阅读22812 评论11 喜欢35 WebPack是什么 一个打包工具 一个模块加载工具 各种资源都可以当成模块来处理 网站 http://webpack. ...

  7. D1.1.利用npm(webpack)构建基本reactJS项目

    前提: 已经安装nodejs和npm #全局安装webpack 自动构建化工具,职能管理项目:webpack-dev-server是开发工具,提供 Hot Module Replacement 功能# ...

  8. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(05)

    1.3.4 绘制窗口 如何在屏幕上随心所欲的进行绘制?应用程序通过响应来自Windows的WM_PAINT消息进行绘制的,此消息通知它更新窗口. WM_PAINT消息如何发生:窗口位置改变:窗口大小改 ...

  9. Dom学习笔记

    今天老师出了一道面试题目:取到表单里面的textbox的值,两种方法.知道一种,老师说的什么dom,我竟然不知道. 以前学html的时候,老师也重来没有提到dom的概念.javaScript只是学了一 ...

  10. (转) 如何让 UITableView 的 headerView跟随 cell一起滚动

    在我们利用 UITableView 展示我们的内容的时候,我需要在顶部放一个不同于一般的cell的 界面,这个界面比较独特. 1. 所以我就把它 作为一个section的 headerView. 也就 ...