Learn Java
304 subscribers
92 photos
1 video
94 files
84 links
یاد گیری زبان برنامه نویسی جاوا و نکات و مفاهیم
کاربردی ان



@parsa8113
@bardiademon
Download Telegram
♦️شبه کد زیر را در نظر بگیرید:

if (aNumber >= 0)
if (aNumber == 0)
System.out.println("first string");
else
System.out.println("second string");
System.out.println("third string");

..............................
✳️سوال اول- اگر مقدار aNumber برابر عدد 3 بود خروجی چه میشد؟

حل:
second string
third string
تکنولوژی JAVA TV

یکی از تکنولوژی های موجود در جاوا می باشد.اساس Java TV تکنولوژی Java ME می باشد.
تکنولوژی Java TV یک راه حل سازگار،امن و آسان را برای پیاده سازی و توسعه برنامه های کاربردی که قابلیت اجرا در تلوزیون و دستگاه های ستاپ باکس را دارند می باشد.
خب با Java TV چه برنامه هایی را میشه برا تلویزیون نوشت؟!
توسعه دهندگان این تکنولوژی می توانند به راحتی برنامه های کاربردی مانند برنامه راهنما،بازی ها،برنامه آموزشی،و همچنین برنامه های کاربردی که می توانند به داده ها در اینترنت دسرسی پیدا کنند مانند برنامه های هواشناسی،نوارهای اعلام اخبار،شبکه های اجتماعی و...
۵ ملیارد جاوا کارت در جهان مورد استفاده قرار میگیرد
شاید براتون سوال پیش اومده که جاوا کارت چیه؟!
جاوا ی زبون برنامه نویسی بزرگ و قدرتمندی است که در زمینه های مختلف ازش استفاده شده نظیر برنامه های بانکی،سازمانی،وب،رومیزی،موبایل و...
یکی از کاربردهای جاوا استفاده از آن در نوشتن اپلت ها برای کارت های هوشمند می باشد.
تکنولوژی جاوا کارت اجازه می دهد تا اپلت های نوشته شده به زبان جاوا بر روی کارت های هوشمند اجرا شود.
محیط اجرای جاوا کارت (JCRE) اجرای اپلت های نوشته شده جاوا روی کارت های هوشمند را فراهم می کند.
#مثالی_از_آرایه_ها_در_جاوا
برنامه ای به زبان جاوا بنویسید که بزرگترین و کوچکترین مقدار عناصر درون یک آرایه را پیدا کند.
Learn Java
#مثالی_از_آرایه_ها_در_جاوا برنامه ای به زبان جاوا بنویسید که بزرگترین و کوچکترین مقدار عناصر درون یک آرایه را پیدا کند.
پاسخ:
package test;
import java.util.Arrays;
public class Exercise10 {

static int max;
static int min;

public static void max_min(int my_array[]) {
max = my_array[0];
min = my_array[0];
int len = my_array.length;
for (int i = 1; i < len - 1; i = i + 2) {
if (i + 1 > len) {
if (my_array[i] > max) max = my_array[i];
if (my_array[i] < min) min = my_array[i];
}
if (my_array[i] > my_array[i + 1]) {
if (my_array[i] > max) max = my_array[i];
if (my_array[i + 1] < min) min = my_array[i + 1];
}
if (my_array[i] < my_array[i + 1]) {
if (my_array[i] < min) min = my_array[i];
if (my_array[i + 1] > max) max = my_array[i + 1];
}
}
}

public static void main(String[] args) {
int[] my_array = {25, 14, 56, 15, 36, 56, 77, 18, 29, 49};
max_min(my_array);
System.out.println(" Original Array: " + Arrays.toString(my_array));
System.out.println(" Maximum value for the above array = " + max);
System.out.println(" Minimum value for the above array = " + min);
}
}
==============
خروجی:
Original Array: [25, 14, 56, 15, 36, 56, 77, 18, 29, 49]
Maximum value for the above array = 77
Minimum value for the above array = 14
===============
✳️میخواستم بدونم چه طوری حروف تکراری رو از یک رشته حذف کنم؟

پاسخ ما:

package test;

import java.util.Scanner;

public class Test {
public static String removeDup(String inputString) {
if (inputString.length() < 2)
return inputString;
if (inputString == null)
return null;
char[] inputBuffer = inputString.toCharArray();
String str = new String();
for (int i = 0; i < inputBuffer.length; i++) {
for (int j = i + 1; j < inputBuffer.length; j++) {
if (inputBuffer[i] == inputBuffer[j]) {
inputBuffer[j] = 0;
}
}
}
for (int i = 0; i < inputBuffer.length; i++) {

if (inputBuffer[i] != 0) {

str += inputBuffer[i];
}
}
String result = new String(str);
return result;
}

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter the String:");

String str = input.next();
System.out.println(removeDup(str));

}

}
..................................
✳️صورت سوال: برنامه ای به زبان جاوا بنویسید که یک متد داشته باشد که عملیات زیر را انجام دهد:
تبدیل مبنای 10 به عدد باینری(دودویی)
به این صورت که متد ما یک پارامتر ورودی داره و با صدا زدن و ست کردن متد تبدیل رو انجام
بده!!
🔵مثال: فرض کنید عدد ما در مبنای 10 این مقدار 693 باشد وقتی به مبنای 2 ببریمش می شود
1010110101 یا عدد 4 وقتی به مبنای 2 برده شود میشود 100
.....................
پاسخ:
package tutorial;

import java.util.Scanner;

public class Example2 {

public String decimalToBainary(int m) {
String s = new String();

while (m >= 2) {
if (m % 2 == 0) {
s += "0";
m = m / 2;
} else if (m % 2 == 1) {
s += "1";
m = m / 2;

}
}
s += "" + m;
String str = new String();
for (int i = s.length() - 1; i >= 0; i--) {

str += s.substring(i, i + 1);
}
return str;

}

public static void main(String[] args) {
Example2 t = new Example2();

System.out.println(t.decimalToBainary(7));

}

}
...............................
⬇️خروجی:
خروجی این برنامه در محیط کنسول بعد از کامپایل و اجرای برنامه بصورت زیر است:
111
نکته: عدد 111 یک عدد باینری یا دودویی هستش که تنها برای ماشین قابل فهم می باشد و با عدد صد و یازده اشتباه نگیریدش
..................................
✳️صورت سوال: برنامه ای به زبان جاوا بنویسید که یک متد داشته باشد که عملیات زیر را انجام دهد:
تبدیل عدد باینری به مبنای 10(تبدیل از مبنای(binary (2 به 10)
به این صورت که متد ما یک پارامتر ورودی داره و با صدا زدن و ست کردن متد تبدیل رو انجام
بده!!
مثال: فرض کنید عدد باینری ما 1010110101 این مقدار باشد وقتی به مبنای 10 ببریمش می شود
693 یا عدد دودویی 100 وقتی به مبنای 10 برده شود میشود 4
...................................................................................................................................................................................................
پاسخ:
package tutorial;

import java.util.Scanner;

public class Example1 {

public int bainaryToDecimal(int a) {

String b = "" + a;

Integer in = new Integer("0");
int j = 0;
int sum = 0;

for (int i = b.length() - 1; i >= 0; i--) {

int d = Integer.parseInt(b.substring(i, i + 1));
sum += (int) (Math.pow(2, j) * d);
j++;
}

return sum;
}



public static void main(String[] args) {
Example1 t = new Example1();

System.out.println(t.bainaryToDecimal(111));



}

}

........................................................................................................................................................
⬇️خروجی: خروجی این برنامه در محیط کنسول بعد از کامپایل و اجرای برنامه بصورت زیر است:
7
الگوریتم موفقیت🤘
پروژه پازل به زبان جاوا (2).zip
637 KB
سورس کد پازل به زبان جاوا

برای استفاده ی شما علاقه مندان (;
جاوا به زبان ساده ۲۴
درست کردن متد با پارامتر ها
تو این قسمت از اموزش میخوایم به کار گیری متد ها + پارامتر ها صحب کنیم

توجه: تو این اموزش از دو کلاس استفاده میشه پس باید دو کلاس متفاوت ولی توی یک پروژه بسازید

فرض نام کلاس اول NewClass و فرض نام کلاس دوم Parsa


NewClass:‌کلاسی هست که متد ها و پارمتر هارو توش تعریف خواهیم کرد

Parsa:کلاسی هست که دارای متد Main هست و کلاس بالایی رو توش فراخونی خواهیم کرد


public class NewClass
{
public void simpleMessage(String name)
{
System.out.println("hello " + name);
}
}



name: پارامتره...از نوع String
چرا String?
خب name عدد نیستش که دوستان


خب حالا میریم توی متد Main

یادتونه گفتم چطوری از کاربرتون input بگیرین؟

import java.util.Scanner;
public class Parsa
{
public static void main (String[] args)
{
Scanner input = new Scanner (System.in);
NewClass object = new NewClass();

System.out.println("Esmet ro vared kon: ");
String name = input.nextLine();
object simpleMessage(name);
}
}

خروجی :
Esmet ro vared kon :
Parsa
hello Parsa

public void simpleMessage(String name):اسم متدمون رو simpleMessage گذاشتیم
و طوری تایین کردیم متد رو که چیزیو برگشت نده..هرگاه void داشته باشه چیزیو برگشت نمیده

String name: اسم پارامتره ماست

Scanner input = new Scanner (System.in); : یه شی از اسکنرمون ساختیم

NewClass object = new NewClass();: کلاس NewClass رو فراخونی کردیم و شی ای به نام object ازش ساختیم

String name = input.nextLine();: یه استرینگ به اسم name ساختیم و طوری تعریفش کردیم که بره لاین بعدی

و در اخر
object simpleMessage(name);: این متد هم از پارامتر name توی کلاس NewClass xاستفاده میکنه

سوالی بود :@prsw16
جاوا به زبان ساده ۲۶:
گرافیک
import java.awt.BorderLayout;
import javax.swing. *;

public class Hello extends JFrame {
public Hello() {
super("hello");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
add(new JLabel("Hello, world!"));
pack();
}

public static void main(String[] args) {
new Hello().setVisible(true);
}
}

اولین جملهٔ import کامپایلر جاوا را هدایت می‌کند تا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند؛ و import دوم همهٔ کلاس‌های عمومی و واسط آن‌ها را از بستهٔ javax.swing اضافه می‌کند. کلاس Hello کلاس Jframe را توسعه می‌دهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.

زمانی که برنامه آغاز می‌شود، تابع main با JVM صدا زده می‌شود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده می‌شود.
تست برنامه‌های نوشته شده توسط جاوا

جاوا امروزه به عنوان یک زبان پر کاربرد به خصوص در برنامه‌های کاربردی تجاری مطرح است و بسیاری از سازمان‌ها و شرکت‌های از این زبان و تکنولوژی‌های مربوط به آن استفاده می‌کنند. ابزارهای زیادی برای تست برنامه‌های نوشته شده توسط جاوا مورد استفاده قرار می‌گیرند. برای مثال: در جاوا به دلیل مدیریت حافظه توسط Garbage collection ممکن است به دلیل نوشتن غیر استاندارد برنامه در حافظه نشتی داشته باشیم (memory leakage)که این امر سبب می‌شود حافظه گرفته شده آزاد نشود و با پر شدن حافظه برنامه دچار خلل شود. برای حل این مشکل و سایر مشکلات نیاز به تست نرم‌افزارهای نوشته شده در جاوا هستیم. با بزرگ شدن حجم نرم‌افزار تست آن نیز سخت‌تر می‌شود. بهتر از قبل از نوشتن برنامه‌های تجاری بزرگ به تست و نحوه تضمین کیفیت آن هم فکر شود.
جاوا به زبان ساده ۲۷:
import java.io. *;
import javax.servlet. *;

public class Hello extends GenericServlet {
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
final PrintWriter pw = response.getWriter();
pw.println("Hello, world!");
pw.close();
}
}


واژهٔ import کامپایلر جاوا را هدایت می‌کند که تمام کلاس‌های عمومی و واسط‌ها را از بسته‌های java.io وjava.servlet را در کامپایل وارد کند.

کلاس Hello کلاس Genericservlet را توسعه می‌دهد. کلاس Genericservlet واسطی برای سرور فراهم می‌کند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید می‌کند. نوعاً صفحات HTML به درخواست‌های HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه می‌کنند.JSP به javaservlet کامپایل می‌شود.
شرکت سان میکروسیستم، ۴ نوع ویرایش از کاربردهای مختلف جاوا را ارائه داده‌است:

Java card for smartcard
JavaME
JavaSE
JavaEE
http://tour.ubuntu.com/en/
سیستم عامل ابونتو رو انلاین تجحربه کنید
جاوا به زبان ساده 28
، ما در این جلسه قصد داریم چند String را با استفاده از متد ()concat در جاوا به
هم وصل کنیم.
public String concat(String str)
این متد )String)رشته str را به انتهای String( رشته ای( که این متد را صدا زده است وصل می کند.
برای مثال فرض کنید یک String با نام s داشته باشیم:
String s="java";
حاال قصد داریم )String)رشته "pro "را به انتهای )String)رشته s وصل کنیم، برای این کار از متد concat
استفاده می کنیم:
s=s.concat("pro");
با این کار مقدار )String)رشته s از "java "به "javapro "تغییر می کند.
حتما براتون سوال پیش اومده چرا رشته s همزمان که متد concat را صدا زده است سمت چپ مساوی نیز
قرار گرفته است؟!!
پاسخ:
 دستور ("pro("concat.s رشته "pro "را به رشته s وصل می کند ، حاال برای این که مقدار قبلی
رشته s جای خود را به مقدار جدید بدهد باید با قرار دادن مساوی ، مقدار جدید را در داخل رشته s
بریزیم.
برای این که چند )String)رشته را به یک رشته وصل کنیم باز می توانیم از متد concat استفاده کنیم:
برای مثال فرض کنید یک String با نام s داشته باشیم:
String s="java"؛
ادامه جاوا 28
حاال قصد داریم رشته های "pro "." ، "و "ir "را به رشته s وصل کنیم برای اینکار به صورت زیر عمل می
کنیم:
s = s.concat("pro").concat(".").concat("ir");
 با دستور باال مقدار رشته s از "java "به ir.javapro تغییر مقدار پیدا میکند.
مثال(Example:(
در این مثال ما از دو روش برای اتصال رشته ها به یکدیگر استفاده کرده ایم:
package javalike;
public class ConcatenationExample {
public static void main(String args[]) {
//One way of doing concatenation
String str1 = "Welcome";
str1 = str1.concat(" to ");
str1 = str1.concat(" String handling ");
System.out.println(str1);
// Other way of doing concatenation in one line
String str2 = "This";
str2 = str2.concat(" is").concat(" just a").concat(" String");
System.out.println(str2);
}
}
خروجی(output: (
Welcome to String handling
This is just a String